MySQL入门很简单: 6 视图

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]

 

 

posted @ 2016-04-15 15:24  zxqstrong  阅读(849)  评论(0编辑  收藏  举报