视图又被成为虚拟表,view是sql查询结果的映射
视图的创建
create view 表名 as select...(后接正常语句)
作用
- 权限控制时
如某几列允许查看,其他不允许,可通过视图开放这几列- 简化复杂的查询
注意点
- 视图的每一行与物理表一一对应, 则可以视图修改可以更新物理表
- view的行由物理表经计算得来的话,则不可以修改。
视图的algorithm
有两种
①merge
对于简单查询形成的view,再对view查询时,可以把建视图的语句和查视图的语句合并成为查物理表的语句
②temptable
视图的创建语句较复杂,较难和查视图的语句合并,mysql可以先执行视图的创建语句,把结果形成内存中的临时表,然后再查临时表
建视图时使用,不确定可直接不写
①create algorithm=merge view test1 as ...
②create algorithm=temptable view test2 as ...
③create view test3 as ...
表/视图管理语句
①查看结构
desc 表/视图
②删除
drop table 表名
drop view 视图名
③查看简表/视图过程
show create table 表名
show create view 视图名
④查看表的详细信息
show table status \G 可以将信息按列显示
该表是视图的话最后一列会有 Comment:View
查看某张表的详细信息
show table table status where name = '表名';