1. 视图含义作用
视图是虚拟的表,是从数据率中一个或多个表中导出来的表; 数据库中只存放了视图的定义,没有存放视图中的数据,数据在原先的表中; 一旦表中的数据发生变化,显示在视图中的数据也会发生变化。
作用: 操作简单化, 增加数据安全性, 提高表的逻辑独立性
2. 创建视图
视图可以建立在一张表上,也可以建立在多张表中。
1)创建视图的语法
CREATE [ ALGORITHM={ UNDEFINED | MERGE | TEMPTABLE } ] VIEW 视图名 [(属性清单)] AS SELECT 语句 [ WITH [CASCADED | LOCAL ] CHECK OPTION];
2)在单表上创建视图
在department 表中创建一个简单的视图,视图名称为departmen_view1 CREATE VIEW department_view1 AS SELECT * FROM department
在departm表上创建一个名为department_view2的视图,包含三个属性 使用视图时,用户接触不到实际操作的表和字段,可以保证数据率的安全 CREATE VIEW department view2(name, function, location) AS SELECT d_name, function, address FROM department;
3)在多表上创建视图
//在department表和worker表上创建一个名为worker_view1的视图 CREATE ALGORITHM=MERGE VIEW worker_view1(name,department,sex,age,address) AS SELECT name,department, d_name,sex,2009-birthdat,address FROM worker, department WHERE worker.d_id=department.d_id WITH LOCAL CHECK OPTION;
3. 查看视图
1) DESCRIBE
DESCRIBE 视图名;
2)SHOW TABLE STATUS
SHOW TABLE STATUS LIKE ‘视图名’;
3)SHOE CREATE VIEW
SHOW CREATE VIEW 视图名
4)在views表中查看视图详细信息
// 所有视图的定义都存在information_schema数据库下的views表中 SELECT * FROM information_schema.views;
4. 修改视图
1)CREATE OR REPLACE VIEW
CREATE OR REPLACE [ ALGORITHM={ UNDEFINED | MERGE | TEMPTABLE}] VIEW 视图名 [(属性清单)] AS SELECT 语句 [WITH [CASCADED | LOCAL] CHECK OPTION];
// 修改视图department_view1 CREATE OR REPLACE ALGORITHM=TIMPTABLE VIEW departmeng_view1(department,function,location) AS SELECT d_name,function,address FROM department;
2)ALTER
ALTER [ALGORITHM={UNDEFINED |MERGE | TEMPTABLE}] VIEW 视图名 [(属性清单)] AS SELECT 语句 [WITH [CASCADED | LOCAL] CHECK OPTION];
5.更新视图
6. 删除视图
DROP VIEW [IF EXISTS] 视图名列表 [RESTRICT | CASCADE]