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 from

depart;

以上是单表上创建视图;

多表的视图创建:

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 view student_view1;

3.show table status like '视图名' ;

所有视图定义都存在information_schema数据库下的views表中。查询views表,可以查看到数据库中所有视图的详细信息。查询的语句如下:

select * from information_schema.views;

<strong>视图主要有以下作用:</strong>
1、安全。一些数据表有着重要的信息。有些字段是保密的,不能让用户直接看到。这时就可以创建一个视图,在这张视图中只保留一部分字段。这样,用户就可以查询自己需要的字段,不能查看保密的字段。

2、性能。关系数据库的数据常常会分表存储,使用外键建立这些表的之间关系。这时,数据库查询通常会用到连接(<a target=_blank target="_blank" href="https://www.baidu.com/s?wd=JOIN&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3uAnLPH7BP1I-nj6YmHm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHm1PHfLnWcv" class="baidu-highlight" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">JOIN</a>)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一起,就可以避免使用<a target=_blank target="_blank" href="https://www.baidu.com/s?wd=JOIN&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3uAnLPH7BP1I-nj6YmHm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHm1PHfLnWcv" class="baidu-highlight" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">JOIN</a>查询数据。

3、灵活。如果系统中有一张旧的表,这张表由于设计的问题,即将被废弃。然而,很多应用都是基于这张表,不易修改。这时就可以建立一张视图,视图中的数据直接映射到<a target=_blank target="_blank" href="https://www.baidu.com/s?wd=%E6%96%B0%E5%BB%BA&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1Y3uAnLPH7BP1I-nj6YmHm10ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EPHm1PHfLnWcv" class="baidu-highlight" rel="nofollow" style="color:rgb(45,100,179); text-decoration:none">新建</a>的表。这样,就可以少做很多改动,也达到了升级数据表的目的。

关于视图的学习,我建议你参考mysql手册。在网上找一些示例,很快就入门了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值