mysql 视图创建及使用
2016-03-03 14:57
597 查看
文章内容多数从各网站收集。
视图理解:
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;
视图理解:
视图又叫虚表。同真实的表一样,视图包含一系列带有名称的列和行数据。但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。
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;
视图主要有以下作用: 1、安全。一些数据表有着重要的信息。有些字段是保密的,不能让用户直接看到。这时就可以创建一个视图,在这张视图中只保留一部分字段。这样,用户就可以查询自己需要的字段,不能查看保密的字段。 2、性能。关系数据库的数据常常会分表存储,使用外键建立这些表的之间关系。这时,数据库查询通常会用到连接(JOIN)。这样做不但麻烦,效率相对也比较低。如果建立一个视图,将相关的表和字段组合在一起,就可以避免使用JOIN查询数据。 3、灵活。如果系统中有一张旧的表,这张表由于设计的问题,即将被废弃。然而,很多应用都是基于这张表,不易修改。这时就可以建立一张视图,视图中的数据直接映射到新建的表。这样,就可以少做很多改动,也达到了升级数据表的目的。 关于视图的学习,我建议你参考mysql手册。在网上找一些示例,很快就入门了。
相关文章推荐
- mysql之路【第三篇】
- Windows下mysql忘记root密码的解决方法
- Mysql分库分表方案
- mysql常用命令
- mysql语句优化
- 赶集mysql军规
- PostgreSQL如何实现MySQL中的group_concat聚集函数(简单的拼接功能)
- 超越MySQL:三个流行MySQL分支的对比
- Mysql 索引
- MySQL字符集设置
- 创建,增加,删除mysql表分区
- connection to dat Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- MySQL 解压方式安装使用
- Mac下MySQL卸载方法
- 高性能mysql读书笔记(一):Schema与数据类型优化
- PowerDesigner对MySql数据库的Excel导入导出
- 【Data Cluster】真机环境下MySQL数据库集群搭建
- mysql数据库设置默认字符集
- Nodejs+MySQL
- MySQL 5.6.22绿色版安装