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]

最新文章

  1. POJ1201 Intervals[差分约束系统]
  2. linux实践之程序破解
  3. openwrt编译环境搭建
  4. 【转】推荐UML插件AmaterasUML
  5. 安全快速修改Mysql数据库名的5种方法
  6. Web Application Project is configured to use IIS. Unable to access the IIS metabase.(配置为使用IIS Web应用程序xxxx项目。无法访问IIS元数据库。)
  7. MD5加密算法
  8. hbase基本概念和hbase shell常用命令用法
  9. .NET在EF中使用sql,用动态类吧!
  10. vim自动补全:go
  11. 宝洁HR
  12. HDU 1535 Invitation Cards(SPFA,及其优化)
  13. .netER的未来路,关于基础是否重要和应该自己手写代码吗?
  14. Java简单实用方法一
  15. Java线程池带图详解
  16. Java的锁
  17. 一、下载安装superset
  18. luogu3346 诸神眷顾的幻想乡 (广义SAM)
  19. maven私服nexus(三)
  20. 开源流媒体服务器SRS学习笔记(4) - Cluster集群方案

热门文章

  1. django中关于静态文件的引入(这边是指边主要是jquery和bootstrap
  2. day18 约束 异常
  3. Java中的String、StringBuffer和StringBuilder的区别
  4. Python读写操作Excel模块_xlrd_xlwt_xlutils
  5. java课内容2019.3.1
  6. SQL SERVER LEFT JOIN, INNER JOIN, RIGHT JOIN
  7. js学习笔记 -- await/ async
  8. hdfs shell命令及java客户端编写
  9. cmake中文帮助文档
  10. RTT学习之BSP