> 데이터 베이스 > MySQL 튜토리얼 > MySQL视图学习整理_MySQL

MySQL视图学习整理_MySQL

WBOY
풀어 주다: 2016-06-01 12:59:42
원래의
1822명이 탐색했습니다.

第一部分:初级概念及应用

一,视图简介

MySQL的视图和Oracle视图是一个概念,就是一张虚拟表,没有任何数据的,数据还是存放在基表里面的;

二,添加视图
1:语法
CREATE
[OR REPLACE]
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
2:举例(创建视图 )
mysql> use ehrt;
Database changed
mysql> create algorithm = MERGE view t1 as select * from user;

三,修改视图
1:语法
ALTER
[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]
[DEFINER = { user | CURRENT_USER }]
[SQL SECURITY { DEFINER | INVOKER }]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
2:举例
mysql> alter view t1 as select * from user where name='Jacson';

四,查看视图

1.查看视图数据

mysql> use ehrt;
mysql> select * from t1;
+----+------+-----+
| id | name | sex |
+----+------+-----+
| 1 | Jacson | 0 |
| 2 | Bai | 0 |
+----+------+-----+

2 rows in set (0.00 sec)

2.查看视图结构

mysql> show create view t1G;

五,删除视图
mysql> drop view t1;

Query OK, 0 rows affected (0.00 sec)

第二部分:高级概念整理

一,视图的类型
mysql的视图有三种类型:MERGE、TEMPTABLE、UNDEFINED。如果不指定ALGORITHM子句,默认算法为UNDEFINED。这个方式决定了影响MySQL处理视图的速度。
1,MERGE,会将引用视图的语句的文本与视图定义合并起来,使得视图定义的某一部分取代语句的对应部分。
2,TEMPTABLE,视图的结果将被置于临时表中,然后使用它执行语句。
3,UNDEFINED,让自己MySQL选择所要使用的算法。

建议一般开发者,在物理主机内存不大或者考虑程序可移植的情况下一般选择MERGE

--未完待续

第三部分:高级应用

1.能否监控视图是否失效?

--未完待续

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿