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 视图的更多相关文章

  1. 《Mysql 入门很简单》(读后感①)

    下载完整版<Mysql 入门很简单>,点击这里~: http://files.cnblogs.com/files/zhengyeye/MySQL%E5%85%A5%E9%97%A8%E5% ...

  2. MySQL入门很简单: 8查询数据

    1. 查询语句语法 SELECT 属性列表 FROM 表名和视图列表 [WHERE 条件表达式1] [GROUP BY 属性名1 [HAVING t条件表达式2]] [ORDER BY 属性名2 [A ...

  3. MySQL入门很简单: 1 数据库概述

    1. 数据库概述 1.1 数据存储方式: 1)人工管理阶段 2)文件系统阶段: 文件系统通过文件的存储路径和文件名称访问文件中的数据 3)数据库系统阶段:Oracle, SQL Server, MyS ...

  4. MySQL入门很简单-触发器

    1.触发器是由事件来触发某个操作,这些事件包括insert语句.update语句和delete语句.当数据库系统执行这些事件时,会激活触发器执行相应操作.MySQL从5.0.2开始支持触发器.使用触发 ...

  5. MySQL入门很简单: 15 java访问MySQL数据库

    1. 连接数据库 1.1 下载安装驱动 java通过JDBC(Java Database Connectivity,Java数据库连接)来访问MySQL数据库.JDBC的编程接口提供的接口和类与MyS ...

  6. MySQL入门很简单: 14MySQL日志

    二进制日志: 以二进制文件的形式记录了数据库中的操作,但不记录查询语句 错误日志: 记录MySQL服务器的启动,关闭和运行错误等信息 通用查询日志: 记录用户登录和记录查询的信息 慢查询日志: 记录执 ...

  7. MySQL入门很简单: 13 数据备份和还原

    1. 数据备份 1)使用mysqldump命令备份 第一种:备份一个数据库 mysqldump -u username -p dbname table1 table2 ... > BackupN ...

  8. MySQL入门很简单: 12 MYSQL 用户管理

    1. 权限表 安装MySQL会自动安装一个名为mysql的数据库,存储权限表: user表, db表,host表,table_priv表,columns_priv表,proc_priv表等. 1)us ...

  9. MySQL入门很简单: 2 MySQL数据类型

    2. MySQL数据类型 2.1 整数类型 后面的是默认显示宽度: tinyint(4) smallint(6) mediumint(9) int(11) bigint(20) 2.2 浮点型和定点数 ...

随机推荐

  1. 2016"百度之星" - 资格赛(Astar Round1)C

    Problem Description 度熊手上有一本神奇的字典,你可以在它里面做如下三个操作: 1.insert : 往神奇字典中插入一个单词 2.delete: 在神奇字典中删除所有前缀等于给定字 ...

  2. django中关于静态文件的引入(这边是指边主要是jquery和bootstrap

    一.  创建文件夹 首先在项目的根目录中新建一个文件夹,这个文件夹的名称最好以static命名 二.   修改配置 在项目的settings文件中,拉倒最下面,可以看到 STATICFILES_DIR ...

  3. CAS 5.X 安装

    官方文档: https://apereo.github.io/cas/5.1.x/index.html 几个基本概念 CAS Server: SSO服务器端 CAS Client : SSO客户端,内 ...

  4. sonar 测试覆盖率

    <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</a ...

  5. 一个简单的基于MINI2440开发板的启动代码

    1. S3C2440大概的启动流程(NAND启动): ①设置CPU为SVC模式 ②关闭看门狗 ③屏蔽中断 ④关闭MMU ⑤初始化时钟 ⑥初始化内存(SDRAM) ⑦初始化栈指针(SP, R13) ⑧初 ...

  6. Linux 磁盘管理基础命令df,du,fdisk,mke2fs

    1.df:查看已挂载磁盘的总容量,使用容量和剩余容量等,默认以KB位单位显示 文件系统   容量         已用    可用       已用百分比  挂载点 df常用选项-i,-h,-k,-m ...

  7. 搜索提示(search suggest)文献阅读

    Learning to Personalize Query Auto-Completion 样本 正例用用户的sug点击,其余是负例 特征 用户历史特征: query历史频次,候选和用户历史输入的ng ...

  8. java 与 数据库的连接

    Eclipse中使用SQL server 2017数据库 一.准备材料 要能够使用数据库就要有相应的JDBC,所以我们要去Microsoft官网下载https://www.microsoft.com/ ...

  9. #define\const\inline的区别与联系

    总结: const用于代替#define一个固定的值,inline用于代替#define一个函数.是#define的升级版,为了消除#define的缺陷. 参考内容:http://www.cnblog ...

  10. Linux下jdk下载

    wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-co ...