使用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