新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
1、什么是视图
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟主机、营销软件、网站建设、灵山网站维护、网站推广。
视图: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命令进行查看
视图是没有办法直接对其进行修改的,你要进行修改就对其源文件进行修改吧
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;
这个视图没有主键;更新表时将会使用下列虚拟语句:
update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1;(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)