3.2 KiB
3.2 KiB
视图
一、视图概述
虚拟表,是从数据库中一个或多个表中导出来的
简单,安全性,权限限制
二、创建视图(create view)
create view 视图名 as 查询语句;
示例:
create view vt as select quantity,price,quantity*price from t;
create view 视图名(表中列新名称) as 查询语句;
示例:
create view vt2(qty,p,total) as select quantity,price,quantity*price from t;
在多个表中创建视图
create view vt4 as select stu.s_id,name,glass from stu join info on stu.s_id=info.a_id;
三、查看视图
1.describe查看视图基本信息
desc vt4;
2.show table status like'视图名'语句查看视图的基本信息
查询视图信息:
show table status like 'vt4';
查询结果,comment值为view说明该为视图,其他大部分信息为null说明是一个虚表
查询表信息:
show table status like'stu';
查询结果包含了存储引擎、行数等信息,comment信息为空,这是表和视图查询结果的区别
3.show create view 视图名:语句查看视图的详细信息(视图名、创建视图的语句等信息)
show create view vt4;
4.在views表中查询所有视图
select * from information_schema.views;
四、修改视图
1.create ro replace view
create ro replace view 视图名 as 查询语句;
示例:
create ro replace view vt as select * from t;
2.alter view
alter view 视图名 as 查询语句;
示例:
alter view vt as select price from t;
五、更新视图(相当于更新基本表)
1.update
update 视图名 set 字段名=新值;
示例:(表中数据跟随更改)
update vt set price=30;
2.insert
insert into 视图名 values(数据);
示例:
insert into vt values(80);
3.delect
delete from 视图名 where 条件;
示例:
delete from vt where price=80;
六、删除视图
drop view 视图名;
添加判断
drop view if exists vt;