数据更新实验案例

目录

1. SQL更新语句的基本使用方法

1.1 INSERT基本语句

1.1.1 插入全部列的数据

1.1.2 插入部分列的数据

1.2 UPDATE基本语句

1.2.1 修改所有记录的某些列的值

1.2.2 修改部分记录的某些列的值

1.3 DELETE基本语句

1.3.1 删除所有记录

1.3.2 删除部分记录

2. SQL更新语句的高级使用方法

2.1 INSERT批量插入语句

2.2 UPDATE语句使用嵌套子查询

2.3 DELETE语句使用嵌套子查询


 

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.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='操作系统');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天见error

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值