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]

MySQL入门很简单: 6 视图的更多相关文章
- 《Mysql 入门很简单》(读后感①)
下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...
- MySQL入门很简单: 8查询数据
1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...
- MySQL入门很简单: 1 数据库概述
1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...
- MySQL入门很简单-触发器
1.触发器是由事件来触发某个操作,这些事件包括insert语句.update语句和delete语句.当数据库系统执行这些事件时,会激活触发器执行相应操作.MySQL从5.0.2开始支持触发器.使用触发 ...
- MySQL入门很简单: 15 java访问MySQL数据库
1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...
- MySQL入门很简单: 14MySQL日志
二进制日志: 以二进制文件的形式记录了数据库中的操作,但不记录查询语句 错误日志: 记录MySQL服务器的启动,关闭和运行错误等信息 通用查询日志: 记录用户登录和记录查询的信息 慢查询日志: 记录执 ...
- MySQL入门很简单: 13 数据备份和还原
1. 数据备份 1)使用mysqldump命令备份 第一种:备份一个数据库 mysqldump -u username -p dbname table1 table2 ... > BackupN ...
- MySQL入门很简单: 12 MYSQL 用户管理
1. 权限表 安装MySQL会自动安装一个名为mysql的数据库,存储权限表: user表, db表,host表,table_priv表,columns_priv表,proc_priv表等. 1)us ...
- MySQL入门很简单: 2 MySQL数据类型
2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数 ...
随机推荐
- 华东交通大学2015年ACM“双基”程序设计竞赛1003
Problem C Time Limit : 3000/1000ms (Java/Other) Memory Limit : 65535/32768K (Java/Other) Total Sub ...
- stark组件之创建
stark组件之需求 仿照Django中的admin , 开发了自己的stark组件,实现类似数据库客户端的功能,对数据进行增删改查 . stark之创建 1.在项目中 创建stark应用,app01 ...
- java拦截器的使用
转载: https://www.cnblogs.com/liangblog/p/7234757.html https://blog.csdn.net/reggergdsg/article/detail ...
- 安装pyautogui时报错备注
python3.6用pip安装pyautogui时报错,找了蛮多方法都不行,最后通过安装低版本的pyautogui解决,这里备注下 报错图 解决方法: pip install pyautogui==0 ...
- java——红黑树 RBTree
对于完全随机的数据,普通的二分搜索树就很好用,只是在极端情况下会退化成链表. 对于查询较多的情况,avl树很好用. 红黑树牺牲了平衡性,但是它的统计性能更优(综合增删改查所有的操作). 红黑树java ...
- JavaSE---反射(未完待续)
1.概述 1.1 Java程序中许多对象在运行时会出现2种类型:编译时类型.运行时类型: eg:Person person=new Student(); 这行代码在编译时为Person类型,运行时为 ...
- silverlight vs2010 需要缺少的web组件才能加载
在打开一个开源的Silverlight项目是遇到如图所示的问题,点击是后没有反应. 查了资料,需要安装微软的webpi(Microsoft Web Platform Installer) webpi的 ...
- tomcat异常[1]--java.lang.ClassNotFoundException: XXXX.EncodingFilter
EncodingFilter类在java项目中,确实存在,但是启动项目时,总是说找不到这个类. 后来想了一下,项目运行取的应该是项目WEB-INF/classes下面已经编译为.class文件的类文件 ...
- inventor安装不了
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- Windows64bit-plsqldeveloper-install the easiest way
The easiest way to add a 32 Bit Oracle Client: 1.Download the Oracle 11g or 12c Instant Client(http: ...