MySQl视图
2015-06-18 21:36
513 查看
一、视图定义:从一个或几个基本表中根据用户需要而做成一个虚表视图是虚表,它在存储时之存储视图的定义,而没有存储对应的数据视图只有在使用时才从基表中搜集数据,再展现给用户
二、使用视图的优点:
1.简单
2.安全:防止未经用户访问敏感数据
3.数据独立:降低数据库的复杂程度
4.视图中数据的更新就是表数据的更新
三、创建视图
CREATE [OR REPLACE]
[ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
VIEW 视图名 AS SELECT语句
[WITH[CASCADED|LOCAL]CHECK OPTION]
实例:
mysql>CREATE VIEW test.v AS SELECT * FROM t;
四、不可更新视图:
如果视图包含下列结构中的任意一个,那么它就是不可更新的
1.聚合函数(sum,min,max,count等)
2.DISTINCT, GROUP BY, HAVING, UNION, 或UNION ALL
3.仅引用文字值(在该情况下,没有基本表)
3.位于选择列表中的子查询
4.Join(表连接)
6.FROM字句中的不可更新视图
7.WHERE字句中的子查询
8.引用FROM字句中的表
9.ALGORITHM = TEMPTABLE,临时表
五、查看视图
SHOW TALBES;
显示视图结构
DESE 视图名
显示视图的详细信息
SHOW CREATE VIEW 视图名
六、修改视图
ALTER
[ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
VIEW 已存在的表名 AS
SELECT语句
[WITH[CASCADED|LOCAL]CHECKOPTION]]
七、删除视图 (要有修改该视图的权限)
DROP VIEW [IF EXISTS]视图一,视图二
实例
DROP VIEW view1,view2;
二、使用视图的优点:
1.简单
2.安全:防止未经用户访问敏感数据
3.数据独立:降低数据库的复杂程度
4.视图中数据的更新就是表数据的更新
三、创建视图
CREATE [OR REPLACE]
[ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
VIEW 视图名 AS SELECT语句
[WITH[CASCADED|LOCAL]CHECK OPTION]
实例:
mysql>CREATE VIEW test.v AS SELECT * FROM t;
四、不可更新视图:
如果视图包含下列结构中的任意一个,那么它就是不可更新的
1.聚合函数(sum,min,max,count等)
2.DISTINCT, GROUP BY, HAVING, UNION, 或UNION ALL
3.仅引用文字值(在该情况下,没有基本表)
3.位于选择列表中的子查询
4.Join(表连接)
6.FROM字句中的不可更新视图
7.WHERE字句中的子查询
8.引用FROM字句中的表
9.ALGORITHM = TEMPTABLE,临时表
五、查看视图
SHOW TALBES;
显示视图结构
DESE 视图名
显示视图的详细信息
SHOW CREATE VIEW 视图名
六、修改视图
ALTER
[ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
VIEW 已存在的表名 AS
SELECT语句
[WITH[CASCADED|LOCAL]CHECKOPTION]]
七、删除视图 (要有修改该视图的权限)
DROP VIEW [IF EXISTS]视图一,视图二
实例
DROP VIEW view1,view2;
相关文章推荐
- [转]hive metadata 存mysql 注释中文乱码的有关
- Mysql 索引 转载
- Ubuntu下的mysql安装
- The MySQL SHOW INDEX command
- MySQL foreign key - How to define a foreign key in MySQL
- MySQL auto increment - the MySQL auto_increment attribute
- Update MySQL timestamp on update
- MySQL "show users" - how to show/list the users in a MySQL database
- MySQL - Default a date (timestamp) field to now
- A MySQL 'create table' syntax example
- MySQL backup - How to backup a MySQL database
- ubuntu14源码安装mysql5.7
- MySQLdb autocommit
- mysql int(3)与int(11)的区别
- JDBC连接MySQL字符集错误解决办法
- [Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL s
- mysql主从同步配置步骤
- mysql排序后取第一条数据
- MySQL5.6之Index Condition Pushdown(ICP,索引条件下推)
- MySQLdb callproc 方法