使用SQL语句实现数据插入、修改和删除操作
1. 使用SQL语句进行数据的插入、修改和删改操作
本次实验环境基于DMS数据库实验室的RDS-SQL Server,前往并登录DMS数据库实验室。
插入记录。
使用INSERT语句可以向数据表中插入一条记录或多条记录,且该记录插入数据表的末尾。
INSERT 语句的语法格式:
INSERT [INTO] table_name
[(column1,column2,…)]
VALUES(value1,value2,…)
主要参数说明:
INTO:可选的关键字。
table_name:指定插入数据的表名。
column1,column2,…:将要插入数据的列名。
VALUES:插入的数据值的列表。
其中,列名和值在个数和类型上保持一一对应。如果提供表中所有列的值,则列名列表可以省略,这时必须保证所提供的值列表的顺序与列定义的顺序一一对应。
操作方法:
在SQL Console页签,输入插入记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
示例1:
在SQL Console页签,输入如下向学生信息表student中插入一条记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
INSERT INTO student VALUES('S10','张杰','男','08')
返回结果如下,表示已成功向学生信息表student中插入一条记录。
示例2:
在SQL Console页签,输入如下向学生信息表student中插入一条记录的部分数据值的SQL语句,只输入SNO、SN两个列的值S11和李伟。单击执行,然后在执行确认对话框中,单击直接执行。
INSERT INTO student(SNO,SN) VALUES('S11','李伟')
返回结果如下,表示已成功向学生信息表student中插入一条记录。
在进行数据插入时应注意以下几点:
必须用逗号将各个数据项分隔,字符和日期数据要用单引号括起来。
INTO 子句没有指定列名时,则新插入的记录必须在每个列上均有值,且 VALUES 子句中值的顺序要和表中各列的排列次序一致、数据类型一致。
将 VALUES 子句中的值按照 INTO 子句中指定的列名次序插入表中。
对于 INTO 子句中没有出现的列,则新插入的记录在这些列上取默认值或空值。
修改记录。
使用UPDATE语句可以修改数据表的数据。
使用 UPDATE 语句修改表中数据的语法格式:
UPDATE table_name
SET column1=new_value1[,column2=new_value2[,…]]
[WHERE search_condition]
主要参数说明:
table_name:指定更新数据的表名。
SET column1=new_value1:指定更新数据的列及更新后的数据。
WHERE search_condition:指定要更新的记录满足的条件,当 WHERE 子句省略时,修改表中所有记录。
操作方法:
在SQL Console页签,输入修改数据表中数据的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
示例:
在SQL Console页签,输入如下修改学生信息表student中数据的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
UPDATE student SET Sex='男',DNO='08' where SNO='S11'
返回结果如下,表示已成功修改学生信息表student中的数据。
删除记录。
使用 DELETE 语句删除表中记录的语法格式:
DELETE FROM table_name
[WHERE search_condition]
WHERE 子句用于指定要删除行的条件。
操作方法:
在SQL Console页签,输入删除表中记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
示例:
在SQL Console页签,输入删除学生信息表student中姓名为张杰的学生记录的SQL语句,单击执行,然后在执行确认对话框中,单击直接执行。
DELETE FROM student where SN='张杰'
返回结果如下,表示已成功修改学生信息表student中的数据。
在表区域,右键[dms].student,然后单击打开表,你可查看到学生信息表student中姓名为张杰的学生记录已被删除。
2. 实验作业
实验要求:
使用SQL语句对student_info、curriculum、grade表进行插入、修改和删除操作,各表数据如表1-表3所示。
表1 student_info表的数据
学号 |
姓名 |
性别 |
出生日期 |
家族住址 |
0001 |
张青平 |
男 |
2000-10-01 |
衡阳市东风路77号 |
0002 |
刘东阳 |
男 |
1998-12-09 |
东阳市八一北路33号 |
0003 |
马晓夏 |
女 |
1995-05-12 |
长岭市五一路763号 |
0004 |
钱忠理 |
男 |
1994-09-23 |
滨海市洞庭大道279号 |
0005 |
孙海洋 |
男 |
1995-04-03 |
长岛市解放路27号 |
0006 |
郭小斌 |
男 |
1997-11-10 |
南山市红旗路113号 |
0007 |
肖月玲 |
女 |
1996-12-07 |
东方市南京路11号 |
0008 |
张玲珑 |
女 |
1997-12-24 |
滨江市新建路97号 |
表2 curriculum表的数据
课程编号 |
课程名称 |
学分 |
0001 |
计算机应用基础 |
2 |
0002 |
C语言程序设计 |
2 |
0003 |
数据库原理及应用 |
2 |
0004 |
英语 |
4 |
0005 |
高等数学 |
4 |
表3 grade表的数据
学号 |
课程编号 |
分数 |
0001 |
0001 |
80 |
0001 |
0002 |
91 |
0001 |
0003 |
88 |
0001 |
0004 |
85 |
0001 |
0005 |
77 |
0002 |
0001 |
73 |
0002 |
0002 |
68 |
0002 |
0003 |
80 |
0002 |
0004 |
79 |
0002 |
0005 |
73 |
0003 |
0001 |
84 |
0003 |
0002 |
92 |
0003 |
0003 |
81 |
0003 |
0004 |
82 |
0003 |
0005 |
75 |
实验链接:https://developer.aliyun.com/adc/scenario/1027fc8a14e54d33a3ea45175cf1d6cf