mysql视图创建与查询_Mysql视图的创建及使⽤
视图理解:
视图⼜叫虚表。同真实的表⼀样,视图包含⼀系列带有名称的列和⾏数据。但是,视图并不在数据库中以存储的数据值集形式存在。⾏和列数据来⾃由定义
视图的查询所引⽤的表,并且在引⽤视图时动态⽣成。
视图的⼯作机制:当调⽤视图的时候,才会执⾏视图中的sql,进⾏取数据操作。视图的内容没有存储,⽽是在视图被引⽤的时候才派⽣出数据。这样不会占⽤空间,由于是即时引⽤,视图的内容总是与真实表的内容是⼀致的。mysql视图和存储过程
视图这样设计有什么好处?节省空间,内容是总是⼀致的话,那么我们不需要维护视图的内容,维护好真实表的内容,就可以保证视图的完整性了。
MySQL视图是从⼀个或多个表中导出来的表:
创建视图的语句:
⼀、⾸先查询
select select_priv,create_view_priv from mysql.user where user ='root';
⼆、创建视图
create view depart_view as select * from depart;
查询视图结构:desc depart_view;
第⼆种创建视图:
create view depart_view2(id,name) as select id,name fromdepart;
以上是单表上创建视图;
多表的视图创建:
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;
查看视图的⽅法:
1.describe student_view1;
2.show create viewstudent_view1;
3.show table status like '视图名' ;
所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:
select * from information_schema.views;
视图主要有以下作⽤:
1、安全。⼀些数据表有着重要的信息。有些字段是保密的,不能让⽤户直接看到。这时就可以创建⼀个视图,在这张视图中只保留⼀部分字段。这样,⽤户就可以查询⾃⼰需要的字段,不能查
看保密的字段。
2、性能。关系数据库的数据常常会分表存储,使⽤外键建⽴这些表的之间关系。这时,数据库查询通常会⽤到连接(JOIN)。这样做不但⿇烦,效率相对也⽐较低。如果建⽴⼀个视图,将相关
的表和字段组合在⼀起,就可以避免使⽤JOIN查询数据。
3、灵活。如果系统中有⼀张旧的表,这张表由于设计的问题,即将被废弃。然⽽,很多应⽤都是基于这张表,不易修改。这时就可以建⽴⼀张视图,视图中的数据直接映射到新建的表。这样,就
可以少做很多改动,也达到了升级数据表的⽬的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论