关系数据库——sql增删改
【摘要】 数据的插入
插入元祖
--1. 表名后没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致insert into studentvalues ('201215128', '陈东', '18', '男', 'IS'); --2. 在表明后指定要插入数据的表名及属性列,属性列的顺序可与表定义中的顺序不一致insert into student(sno...
数据的插入
插入元祖
--1. 表名后没有指定属性列:表示要插入的是一条完整的元组,且属性列属性与表定义中的顺序一致
insert into student
values ('201215128', '陈东', '18', '男', 'IS');
--2. 在表明后指定要插入数据的表名及属性列,属性列的顺序可与表定义中的顺序不一致
insert into student(sno, sname, sage, ssex, sdept)
values ('201215138', '陈东栋', '18', '男', 'CS');
--3. 插入部分列,未显示给出的列按空值计算,当然前提条件是那些列可以为空值
insert into student(sno, sname)
values ('201215148', '陈栋');
2. 插入一个子查询的结果
--子查询的结果必须包含和insert的字段列表一样多的字段,并且数据类型兼容
insert into depavg
select sdept,AVG(sage) avgage
from student
group by sdept;
3.5.2 数据的修改
--1. 修改某些符合where子句中的条件的元组的值
update student
set sage = 92
where sno = '200215121';
--2. where子句缺省,默认修改所有元组的该属性的值
--注意:在修改数据的时候应当先写where子句中的条件
update student
set sage = 92;
--3. 带子查询的修改
update sc
set grade = 100
where 'CS' in (
select sdept
from student
where sc.sno = student.sno
);
--set子句中遇到null只能用等号,where子句中只能用is null
update student
set sage = null
where sno = '201811012';
注意:
DBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则。
- 实体完整性:保证主码不能被修改
- 用户自定义完整性:not null约束,unique约束,值域约束等。
3.5.3 数据的删除
--1. 删除符合where子句中条件的某些行
delete
from student
where sno = '201215148';
--2. 带子查询的删除
delete
from sc
where 'CS' in (
select sdept
from student
where sc.sno = student.sno
);
--3. 删除所有行
delete
from student;
注意:
同数据更新,结果很危险,操作需谨慎。
文章来源: fantianzuo.blog.csdn.net,作者:兔老大RabbitMQ,版权归原作者所有,如需转载,请联系作者。
原文链接:fantianzuo.blog.csdn.net/article/details/102688862
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)