SQL的数据更新(详细讲解,快来快来)

注:在做数据表更新时,数据库管理系统会在执行插入语句时,检查所插入元组是否破坏表上已定义的完整性规则

(一)插入一个元组

格式:

INSERT INTO <表名>[(<属性列1>,<属性列2>...)]
VALUES(<常量>,[<常量2>]...);

例:

INSERT INTO student(sno,sname,sex)values('202052128','陈冬','男');

如果没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致

INSERT INTO student values('202052128','陈冬','男');

INSERT INTO student values('202052128','陈冬');

那么对于sex属性列会自动赋为null

(二)插入子查询结果

格式

INSERT INTO<表名>[(<属性列1>,<属性列2>...)] 子查询;

插入编号为J7的供应商零件记录,而且供应给J7的零件和供应给J1的零件及供应商相同
但每一种零件的供应量改为60
INSERT INTO SPJ2
SELECT SNO,PNO,'J7',PRICE,60
FROM SPJ2
WHERE JNO='J1';

结果:原来J7没有数据

插入后得到:

(三)数据修改

格式

UPDATE <表名>
SET <列名>=<表达式>[,<列名>=<表达式>]...
[WHERE<条件>];

 1.修改某一元组的值

UPDATE student 
set age = 22
where sname='陈冬'

2.修改多个元组的值

update student
set age = age+1;

3.带子查询的修改语句(数据库系统在执行修改语句时会检查所改元组是否破坏表上已定义的完整性规则)

update sc2
set grade =grade +5
where 'cs'=
(
select sdept
from student
where student.sno=sc2.sno);

(四)数据删除

格式:

DELETE FROM <表名>
[WHERE <条件>];

1.删除所有选课记录

delete from sc2;

2.把名为‘东方配件厂’的供应商供应给工程的所有零件从spj表中删除

delete from spj
where sno in(
select sno 
from s
where sname='东方配件厂');

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值