插入操作
1. 单行插入
语法格式:
INSERT [INTO] <表名> [(列名表)] VALUES 值列表)
其中:
<列名表>中的列名必须是,<表名>中有的列名,值列表中的值可以是常量也可以是NULL,各值之间用逗号分隔
值列表中的值必须与列名表中的列按位置顺序对应,他们的数据类型必须兼容
INSERT INTO Student
VALUES(‘051010’,‘赵琳’,‘女’,‘2000-01-01’,‘计算机’,‘NULL’)
2. 多行插入
语法格式:
INSERT [INTO] <表名> [(列名表)] SELECT语句
即将查询的产生的结果集插入到表中。
INSERT INTO StudentBAK
SELECT Sno,Sname,Sdept,FROM Student WHERE Sdept='计算机系'
更新操作
1. 无条件更新
语法格式:
UPDATE <表名> SET <列名> ={表达式| DEFAULT |NULL}
FROM<条件表名>
WHERE<更新条件>
其中:
-
<表名>指定需要更新数据的表的名称
-
SET <列名>:指定要更改的列
-
FROM:用于为更新操作提供条件的表源
-
WHERE:用于指定修改表中满足where子句条件的记录的相应列值
-
未指定where语句更新条件时,则是无条件更新全部语句
例如:UPDATE Student_CS SET Sage=Sage+1;
2. 有条件更新
基于本表的条件更新
//把C04课程的学分加一分
UPDATE Course SET Credit=Credit+1
WHERE Cno='C04';
//将数据库原理课程的成绩都减5分
//用子查询实现
UPDATE SC SET Grade=Grade -5
WHERE Cno IN
(SELECT Cno FROM Course WHERE Cname='数据库原理‘)’
//用多表连接实现
UPDATE SC SET Grade=Grade -5
FROM SC JOIN Course ON SC.Cno=Course.Cno
WHERE Cname='数据库原理'
删除操作
1. 无条件删除
DELETE [FROM] <表名>
FROM<条件表名>
WHERE<更新条件>
//删除Student表中的所有数据
DELETE FROM Student
2. 有条件删除
基于本表的条件删除
DELETE FROM StudentBAK WHERE Sno='050101'
基于他表的条件删除
DELETE FROM SC WHERE Cno IN
(SELECT Cno FROM Course WHERE Cname='数据库原理‘)