mysql之对视图的操作
1. 为什么要使用视图?
为了提高复杂SQL语句的复用性和表操作的安全性,MySQL数据库管理系统提供了视图特性。所谓视图,本质上是一种虚拟表,在物理上是不存在的,其内容与真实的表相似,包含一系列带有名称的列和行数据。但是,视图并不在数据库中以储存的数据值形式存在。行和列数据来自定义视图的查询所引用基本表,并且在具体引用视图时动态生成。
视图使开发者只关心感兴趣的某些特定数据和所负责的特定任务,只能看到视图中所定义的数据,而不是视图所引用表中的数据,从而提高了数据库中数据的安全性。
视图的特点如下:
(1). 视图的列可以来自不同的表,是表的抽象和在逻辑意义上建立的新关系。
(2). 视图是由基本表(实表)产生的表(虚表)。
(3). 视图的建立和删除不影响基本表。
(4). 对视图内容的更新(添加,删除和修改)直接影响基本表。
(5). 当视图来自多个基本表时,不允许添加和删除数据。
视图的操作包括创建视图,查看视图,删除视图和修改视图。
2. 创建视图
CREATE VIEW view_name AS 查询语句;
实例如下:
CREATE VIEW view_name AS SELECT * FROM t_dept;
3. 查看视图
3.1. SHOW TABLES语句查看视图名
aaarticlea/png;base64,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" alt="" />
SHOW TABLES不仅会显示表的名字,同时也会显示视图的名字。
3.2. SHOW TABLE STATUS语句查看视图详细信息
SHOW TABLE STATUS FROM 【from db_name】【LIKE 'pattern'】
SHOW TABLE STATUS不仅会显示表的详细信息,同时也会显示视图的详细信息。
3.3. SHOW CREATE VIEW语句查看视图定义信息
SHOW CREATE VIEW view_dept
3.4 DESCRIBE | DESC语句查看视图设计信息
DESCRIBE | DESC viewname
3.5 通过系统表查看视图信息
当Mysql数据库安装成功后,会自动创建系统数据库information_schema。在该数据库中存在一个包含视图信息的表格views,可以通过查看表格views来查看所有视图的相关信息。
4. 删除视图
DROP VIEW view_name 【,view_name】;DROP VIEW
通过DROP VIEW语句可以一次删除一个或多个视图。
实例:
DROP VIEW view_dept;
5. 修改视图
5.1 CREATE OR REPLACE VIEW语句修改视图
CREATE OR REPLACE VIEW view_name AS 查询语句;
5.2 ALTER语句修改视图
ALTER VIEW viewname AS 查询语句;
6. 利用视图操作基本表
6.1 检索(查询)数据
SELECT * FROM view_name;
6.2 利用视图操作基本表数据
由于视图是"虚表",所以对视图数据进行的更新操作,实际上是对其基本表数据进行更新操作。在具体更新视图数据时,需要注意以下两点:
(1). 对视图数据进行添加,删除,更新操作直接影响基本表。
(2). 当视图来自多个基本表时,不允许添加和删除数据。
添加数据操作:
和向表里添加数据相同。
删除数据操作:
和向表里删除数据相同。
更新数据操作:
和向表里更新数据相同。
mysql之对视图的操作的更多相关文章
- Mysql之视图的操作
视图的操作: 1.视图的创建: create view view_name as 查询语句; 2.视图的查看: show tables;// 显示所有的表和视图 show create view vi ...
- Mysql中的视图
什么是视图 通俗的讲,视图就是一条SELECT语句执行后返回的结果集.所以我们在创建视图的时候,主要的工作就落在创建这条SQL查询语句上. 视图的特性 视图是对若干张基本表的引用,一张虚表,查询语句执 ...
- MySQL基础之 视图
视图 视图就是从一个表或多个表导出来的一张虚拟的表.通过这个窗口可以看到系统专门提供的数据,方便用户操作的同时增加了安全性. 视图的特点: 1.视图的列可以来自于不同的表. 2.视图是由实际存在的表创 ...
- MySQL数据库之视图
1 引言 为了简化复杂SQL语句编写,以及提高数据库安全性,MySQL数据库视图特性.视图是一张虚拟表,不在数据库中以储存的数据值形式存在.在开发中,开发者往往只对某些特定数据和所负责的特定任务感兴趣 ...
- MySQL进阶(视图)---py全栈
目录 mysql进阶(视图)---py全栈 一.什么是视图? 二.视图的特性 三.视图的优点 四.使用场合 五.视图基本操作 六.案例 mysql进阶(视图)---py全栈 一.什么是视图? 视图是从 ...
- Mysql学习笔记—视图
1.什么是视图 视图(View)是一种虚拟存在的表.其内容与真实的表相似,包含一系列带有名称的列和行数据.但是视图并不在数据库中以存储的数据的形式存在.行和列的数据来自定义视图时查询所引用的基本表,并 ...
- Mysql基础知识--视图
一.视图的操作 为了提高SQL语句的复用性和操作表的安全性,,MySQL数据库管理系统5提供了视图特性. 视图:本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的行和列数据.但是视图并不在 ...
- 【简说Python WEB】视图函数操作数据库
目录 [简说Python WEB]视图函数操作数据库 系统环境:Ubuntu 18.04.1 LTS Python使用的是虚拟环境:virutalenv Python的版本:Python 3.6.9 ...
- (八)MySQL事务、视图、变量、存储过程、函数、流程控制结构
补充:增删查改语句在数据库中基本通用,但这篇博客的内容基本是MySQL区别于其它数据库管理系统的知识,也要认真学习. 一.事务 1.含义:在MySQL中,可以通过创建事务来解决一些问题. 2.语法: ...
随机推荐
- HDOJ 4731 Minimum palindrome
Minimum palindrome Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- editplus快捷键大全之editplus搜索快捷键
前面我们说了editplus快捷键大全之editplus文件快捷键和editplus快捷键大全之editplus光标快捷键,editplus快捷键大全之editplus编辑快捷键这里我们讲一下edit ...
- Unity3d Static 静态批处理和动态批处理
表示物体时静态的,多用于静止不动的物体,此外static有多种,有的用于烘焙,有的用于遮挡剔除 物理效果是rigidbody组件,和这个没关系,用transform.Translate 无法移动,因为 ...
- 练习英语ing——[POJ1004]Financial Management
[POJ1004]Financial Management 试题描述 Larry graduated this year and finally has a job. He's making a lo ...
- 删除右键ATI CATALYST(R) Control Center的方法
http://share.weiyun.com/c47530d3e44ea15b606d4ba6f1b00a28
- Linux系统管理员面试50题
命令nslookup是做什么的? Nslookup 是一个 监测网络中 DNS 服务器是否能正确实现域名解析的命令行工具. 你如何把CPU占用率最高的进程显示出来? top -c 按照cpu排序 如果 ...
- SHSEE 备战最后十(四)天日记
努力. Day -1 看书.睡觉. Day 0 上午考试.语文纯RP题跪.理总不错. 下午上课,各种神. Day 1 上午下午讲课...Day 0成绩出来才#17.... Day 2 考试..这次题目 ...
- http://www.highcharts.com/
MAKE YOUR DATA COME ALIVE HIGHCHARTS CLOUD Online charts for non-techies. Create smashing, interacti ...
- python setup.py uninstall
I have installed a python package with python setup.py install How do I uninstall it? ============== ...
- 《ASP.NET1200例》ListView 控件与DataPager控件的结合<一>
分页 在前一部分开始时介绍的原 HTML 设计中内含分页和排序,所以根据规范完整实现该网格的任务尚未完成.我们先分页,然后再排序. ListView 控件中的分页通过引入另一个新控件 Data ...