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 浮点型和定点数 ...
随机推荐
- ADO执行事务
在工作中遇到,需要批量提交的.在sql2008以后有表变量定义,可以实现.但个人比较习惯用C#,就有下面代码,直接上代码... using (SqlConnection conn = new SqlC ...
- java中检测网络是否相通
转载:https://www.cnblogs.com/moon-jiajun/p/3454576.html 1 package com.cjj.client; 2 3 import java.io.I ...
- 本机访问其它电脑上的oracle数据库
最近发现很多人问到怎么才能访问别人机子上的oracle,这里来给大家做个示范 借助工具的话,oracle就自己带了两个配置和移值助手下面:net configuration assistant 和ne ...
- JQuery中的prop和attr
prop和attr都可以用来获取并改变对象的属性, 对于HTML元素本身就带有的固有属性,在处理时,使用prop方法. 对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法. 栗子: ...
- C# 一些零零碎碎的方法,都是些帮助类,留存,也希望能帮助到各位
---------------------------------------------------------------------------------------------------- ...
- 处理IIS 255错误,和相关信息
不知不觉已经注册博客一年多了,当初看见博客园的大神,自己也想像他们一样多写一些有用的,结果,,,不言而喻.在这里又感慨了一下,进入正题了.. 最近在公司服务器接触的比较多, 遇到了一个255 的问题 ...
- C语言的各种输入情况介绍(ACM中常用到)
1.最简单的输入输出形式: 计算a+b的值: scanf("%d%d",&a,&b); printf("%d\n",a+b);--------- ...
- Servlet细节整合
最近在复习Servlet,发现其中有很多细节方面的东西都没有接触到,只是学了大概 1.请求转发和请求重定向的区别 2.输入参数为中文时候的乱码问题 3.Web工程中的目录写法 下面分别阐述 1.请求转 ...
- 简单二级导航JQ事件代码
$(function()){ $("li").hover(function(){ $(this).children("dl").show() },functio ...
- css的三个特性 背景透明设置
关于行内元素(补充一点) 行内元素只能容纳文本或其他行内元素.(a特殊a里面可以放块级元素) 例子: 关于行高tip: 选择器的嵌套层级不应大于3级,位置靠后的限定条件应尽可能的精确. 属性定义必须另 ...