第五章 SQL语言(下)
lix_uan 127 3

数据插入、修改、删除

插入

标准添加:
insert into stu(id,name,age,sex,classid) values (1,'lixuan',20,'m','lamp169');

指定添加:
intsert into stu(name,classid) value('lixuan','lamp169');

不指定添加:
insert into stu value(null,'lixuan',20,'m','lamp169');

批量添加:
insert into stu values
(null, 'lixuan01', 19, 'w', 'lamp169'),
(null, 'lixuan02', 20, 'w', 'lamp170'),
(null, 'lixuan03', 21, 'w', 'lamp171'),
(null, 'lixuan04', 22, 'w', 'lamp172');

修改

update stu set age=19, sex='m' where id=11;

删除

delete from stu where id=100;

视图

创建视图

  • 视图(view):也被称作虚表,是一组数据的逻辑表示,其本质是对应于一条select语句,结果集被赋予一个名字,即视图名字
  • 视图本身不包含任何数据,它只包含映射到基表的一个查询语句,当基表数据发生变化,视图数据也发生变化
  • 目的:方便,简化数据操作
  • 当我们业务需求要查出多张表的数据,这时我们可能会关联多张表查询处理,这时如果直接查询sql会影响效率,这时候可以创建视图,查询的时候直接select * from view 就ok了
create view IS_Student as select Sno,Sname,Sage from student where Sdept='IS' with check option;

create view IS_Student as select Sno,Sname,Sage from Student where Sdept='IS' with check option;
  • with check option 表示对视图进行update、insert和delete操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)
  • 由于最后加上了 with check option 子句,以后对该视图进行插入、修改和删除操作时,关系数据库管理系统会自动加上 Sdept='IS' 的条件
  • with check option 可以防止用户对不属于视图范围的操作,进行拒绝

删除视图

drop view <视图名> [cascade];
  • 视图删除后视图的定义将从数据字典中删除,如果该视图上还导出了其它视图,则cascade级联删除语句把该视图和由它导出的所有视图一起删除

查询视图

select Sno,Sage from IS_Student where Sage<20;

更新视图

  • 视图是不存在的,所以更新视图实际上还是要转换为基本表的更新
  • 更新视图会更改基本表的数据,为了保证安全性,因此视图一般只用来做查询
    update IS_Student set Sname='lixuan' where Sno='1950380013';
    转换后:
    update Student set Sname='lixuan' where Sno='1950380013' and Sdept='IS'; 
    

insert into IS_Student values('1950300142','xuan',20); 转换为对基本表的更新: insert into Student values('1950300142','xuan',20); ```

预览图
评论区

索引目录