使用环境:sql
将多表联查的结果放到一张虚拟表中,实际上只会生成一个表结构的frm文件,不会生成数据文件,他的数据彻底来源于后面多表的内容.他会方便你查询数据(优化sql)而不是增删改数据.数据库
注意:优化
①实际工做中尽可能少用,由于到了后期数据库要扩展功能时你须要一个一个去看虚拟表都是怎么连起来的,很是麻烦,你用的虚拟表越多,查起来越麻烦.spa
②一张表就不要写视图了,你直接查那张表就能够了 (create view xx as select * from userinfo;)这样写还不如不写it
语法:扩展
查询:create view +随意起个虚拟表名(视图的名) as +多表联查的sql语句(注意不要用括号括起来)select
修改:alter view 虚拟表名 as +(你要换的连表查询语句),这里的修改只是把你后面查询的sql语句换了,sql语句
而不是你把虚拟表的某行记录改了,改一行就会形成多个表数据都跟着改,这样会出问题.因此只能换后面的sql语句,而不是改虚拟表的某行记录.语法
删除:drop view +虚拟表名数据
例子:
create view shitu as select * from employee inner join department on employee.dep_id = department.id ;