SQL笔记6.数据更新


①插入
分为两个一个是插入元组,一个是插入查询结果
INSERT INTO T[(A1,...,Ak)]
VALUES (c1,...,ck)
T是基本表,然后这里暂时没有讨论,但基本我们知道他的含义
举例:
INSERT INTO Students
VALUES ('201716010','司马相如','男',1997-01-28,'2017')
这是没有加属性的,但是这个时候我们就必须把这些数据和表中属性相对应,这很麻烦
所以我们使用加属性的
INSERT INTO Students(Sno,Sname,Sex,Brithday,Enrollyear)
VALUES('201716010','司马相如','男',1997-01-28,'2017')
然后前面括号里面的数据和后面括号里的数据意义对应,
只记录一部分就会出现不完整性缺失
比如
INSERT INTO Students(Sno,Sname)
VALUES('201716010','司马相如')

然后是插入查询结果,这个更加简单
就是把我们的VALUES换成查询结果SELECT
INSERT INTO T[(A1,...,Ak)]
<查询表达式>
举例子
INSERT INTO Cardinf(Card-no,Name,Balance)
SELECT Tno,Tname,100.00
FROM Teachers
WHERE Dno = 'IE'
然后过后我们可以看到前面的属性和后面的查出来的数据意义对应Card-no,Name,Balance对应于Tno,Tname,100.00

 删除

注意这里是删除数据,并不是改变表的结构,想要改变表的结构还只能ALTER 一下
DLEETE FROM T
[WHERE<删除条件>]
举例:DLETE FROM Students 
WHERE Sno = '20168';
这就是删除学号20168的学生元组
而DELETE FROM Students
就是删除所有Students元组
还可以DELETE FROM SC
WHERE Sno IN
(SELECT Sno
FROM Students
WHERE Speciality = '即可');
这tm浪费单词,然是确实可以这样等效于DELETE FRON SC WHERE Speciality = '即可';

修改

UPDATE T
SET A1 = e1,...,Ak = ek
[WHERE<修改条件>]
A1是属性,e1是值表达式,两个例子
UPDATE Teachers
SET Title = '副教授'
WHERE Tno = 'SFAN090';这个就是把Tno是SFAN090的Teachers的Title改为'副教授'
在一个例子
UPDATE SC
SET Grade = Grade +5
WHERE Grades <60 AND
Cno IN(SELECT Cno
FROM Courses
WHERE Cname = '软件工程');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值