视图:MySQL从5.0.1版本开始提供视图功能。一种虚拟存在的表,行和列的数据来自定义视图的查询中使用的表,并且是在使用视图时动态生成的,只保存了sql逻辑,不保存查询结果
2、视图应用场景
多个地方用到同样的查询结果该查询结果使用的sql语句较复杂
4、视图的好处
使用简单安全数据独立
5、创建或者修 改视图
创建视图的语法:
修改视图的语法
6、视图更新性
视图的可更新性和视图中查询的定义有关系,以下类型的视图是不能更新的。(1)包含以下关键字的sql语句:分组函数、distinct、group by、having、union或者union all(2)常量视图(3)Select中包含子查询(4)join(5)from一个不能更新的视图(6)where子句的子查询引用了from子句中的表
7、删除视图的语法
用户可以一次删除一个或者多个视图,前提是必须有该视图的drop权限。
8、查看视图结构的语法
show tables如果需要查询某个视图的定义,可以使用show create view命令进行查看
这个视图没有主键;更新表时将会使用下列虚拟语句:update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)
mysql创建视图1.
首先查询select
select_priv,create_view_priv
from
mysql.user
where
user
='root'
2.
创建视图create
view
depart_view
as
select
*
from
depart
3.
查询试图结构:desc
depart_view
4.
第二钟创建视图:create
view
depart_view2(id,name)
as
select
id,name
from
depart
以上是单表上创建视图;
5.
多表的视图创建:create
algorithm=merge
view
student_view1(id,name,sex)
as
select
worker.id,name,sex
from
worker,student
where
worker.id
=
student.w_id
with
local
check
option
6.
查看视图的方法:
1、describe
student_view1
2、show
create
view
student_view1
3、show
table
status
like
'视图名'
;
所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:select
*
from
information_schema.views
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)