目录
1. SQL更新语句的基本使用方法
1.1 INSERT基本语句
1.1.1 插入全部列的数据
插入一个新的学生记录,要求每列都给一个合理的值。
--方法一: INSERT INTO STUDENT VALUES(9900228,'张三',23,'男','数学系','河南'); --方法二: INSERT INTO STUDENT(SNO,SNAME,AGE,SEX,SDEPT,BPLACE) VALUES(9900228,'张三',23,'男','数学系','河南')
1.1.2 插入部分列的数据
要求随机生成某些数字列或字符列的数据
插入一条学生记录,年龄字段可以用RAND函数随机生成数值
INSERT INTO STUDENT(SNO,SNAME,AGE) VALUES(9900228,'张三',ROUND(RAND()*100,0));
1.2 UPDATE基本语句
1.2.1 修改所有记录的某些列的值
修改所有成绩,使其都加1分
UPDATE SC SET GRADE=GRADE+1
1.2.2 修改部分记录的某些列的值
修改“程会军”的年龄为23岁,籍贯为海南
UPDATE STUDENT SET AGE=23 AND BPLACE='海南' WHERE SNAME='程会军';
1.3 DELETE基本语句
1.3.1 删除所有记录
删除Teacher表中所有记录
DELETE FROM TEACHER
1.3.2 删除部分记录
删除Teaching表中学生数少于25人的教师任课记录
DELETE FROM TEACHING WHERE SNUM<25;
2. SQL更新语句的高级使用方法
2.1 INSERT批量插入语句
1) 建立与表STUDENT同结构的空表GIRL。然后利用INSERT命令把表STUDENT中女学生信息添加到表GIRL
INSERT INTO GIRL(SNO,SNAME,SEX) SELECT SNO,SNAME,SEX FROM STUDENT WHERE SEX='女';
2) 为没有选课的学生增加选修“C1”课程的选课记录
INSERT INTO SC(SNO,CNO) SELECT SNO,'C1' FROM STUDENT WHERE SNO NOT IN (SELECT DISTINCT SNO FROM SC);
2.2 UPDATE语句使用嵌套子查询
1) 将女生的成绩提高1分
UPDATE SC SET GRADE=GRADE+1 WHERE SC.SNO IN ( SELECT STUDENT.SNO FROM STUDENT WHERE STUDENT.SEX='女');
2) 将成绩最低的学生的成绩加上10分
UPDATE SC SET GRADE=GRADE+10 WHERE GRADE= (SELECT MIN(GRADE) FROM SC)
3) 将前3名成绩最高的学生的成绩减去10分
UPDATE SC SET GRADE=GRADE-10 WHERE SNO IN (SELECT TOP 3 SNO FROM SC ORDER BY GRAGE DESC);
2.3 DELETE语句使用嵌套子查询
1) 删除成绩低于总平均成绩的女生的选课记录
DELETE FROM SC WHERE SC.GRADE<(SELECT AVG(GRADE) FROM SC) AND SC.SNO IN (SELECT SNO FROM STUDENT WHERE SEX='女');
2) 把“操作系统”课程的选课记录从SC中删除
DELETE FROM SC WHERE CNO IN (SELECT CNO FROM COURSE WHERE CNAME='操作系统');