视图的含义和基本的使用
含义:
视图是一个虚拟表,是数据库从一个或者多个表中导出的表。视图还可以在已有的视图的基础上定义。说白了视图就是为了不让用户看到真实的表结构而用sql语句组成了虚表展现给用户,对构成视图的基本表修改会直接影响到视图,而对视图数据的修改也可以使真实的表数据发生改变。
视图与表的比较
1.视图是已经编好的sql语句,是基于sql语句结果集的可视化的表,而表不是
2.视图没有实际的物理记录,而表有。
3.表是内容,视图是窗口
4.表占有物理空间,而试图不占有,视图只是逻辑概念的存在
5.从安全的角度来说,视图可以防止用户亲密接触表,因而用户不知道表结构。
6.视图的删除和创建不会影响到基本表
创建视图
create [OR REPLACE] [ALGORITHM={UNDEFINED|MERGE|TEMPTABLE}] VIEW view_name [(column_list)] AS SELECT_statement [WITH [CASCADED| LOCAL] CHECK OPTION]
例如:
在单表中创建视图
首先创建表t,插入数据,然后创建名为view_t的视图
mysql> create table t (quantity INT,price INT);
插入数据:
mysql> INSERT INTO t values(3,50);
查看效果
mysql> select * from t;
+----------+-------+
| quantity | price |
+----------+-------+
| 3 | 50 |
+----------+-------+
创建视图:
mysql> create view view_t as select quantity,price,quantity * price from t;
查看结果:
mysql> select * from view_t;
+----------+-------+------------------+
| quantity | price | quantity * price |
+----------+-------+------------------+
| 3 | 50 | 150 |
+----------+-------+----------