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.语法: ...
随机推荐
- codeforces 258div2 A Game With Sticks(DP)
题目链接:http://codeforces.com/contest/451/problem/A 解题报告:有n跟红色的棍子横着放,m根蓝色的棍子竖着放,它们形成n*m个交点,两个人轮流在里面选择交点 ...
- Aptana插件安装到eclipse和myeclipse的详细过程
刚开始学习Jquery,为了搭建好的环境是很重要的,所以我尝试了很多方式,下面之一. 一.要下载好Aptana 插件 官网: http://update1.aptana.org/studio/3.2/ ...
- HDU 1069&&HDU 1087 (DP 最长序列之和)
H - Super Jumping! Jumping! Jumping! Time Limit:1000MS Memory Limit:32768KB 64bit IO Format: ...
- CF#310 d2
A:|c[1]-c[0]| B:A+-(oc)A[0]==0..n-1 C: #include <cstdio> int n,m,i,j,k,p; int ll,ca,cb,cc; int ...
- ASP.NET MVC 入门系列教程
ASP.NET MVC 入门系列教程 博客园ASP.NET MVC 技术专题 http://kb.cnblogs.com/zt/mvc/ 一个居于ASP.NET MVC Beta的系列入门文章,有朋友 ...
- 【leetcode】Best Time to Buy and Sell Stock II
Best Time to Buy and Sell Stock II Say you have an array for which the ith element is the price of a ...
- 在windows下用cygwin和eclipse搭建cocos2dx(2.1.4)的android开发环
一.准备工作 需要下载和安装以下内容,请根据自己的操作系统选择x86和x64(我的是64位win7,我就拿64位说事) 1.jdk-7u25-windows-x64.exe(下载完后直接安装,一直下一 ...
- Android studio 添加依赖
以前添加依赖总是到github上下载源码,再添加源码到module的依赖当中,其实在studio中,应该使用maven库. 比如在github上看到了sliding-menu这个项目,就应该到mave ...
- BestCoder17 1001.Chessboard(hdu 5100) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5100 题目意思:有一个 n * n 的棋盘,需要用 k * 1 的瓷砖去覆盖,问最大覆盖面积是多少. ...
- 【python】pathlib库
pathlib在python3.2以上开始默认支持,在python2.7中如果要使用需要安装 pip install pathlib pathlib更多参考资料:http://pathlib.read ...