数据库之mysql 视图
视图,把基本表的某些数据组合起来构成一个虚拟表的一种形式,之所以叫虚拟,是因为只有当视图用于一条语句中的时候,它才能存在。同时如果对视图中的数据进行修改,会同时修改到基本表中的数据。
创建视图:
create [or replace] view view_name [column1,column2..]
as 表的表达式
as:
创建一个视图towns,1.包含了 players 表中的所有城市名,2.接下来并查询这个虚拟表的内容
1. create view towns as
select town
from players 2. select * from towns
以上是先创建视图towns,再查询视图,其中视图的列名称没有显式写出来,所以默认用的是后面查询的字段作了列的名称字段,as
之后的查询结果作为视图的数据,可以显式指定视图列名
as:
create view cplays (uid,name,job) as
select id,name,prefession
from works 从视图 cplays 中删除 id = 100的人
delete from cplays
where uid = 100
此时基本表中的 id = 100的人同时会被删除 允许select 中的一个表达式为函数或者计算
as:
create or replace view result as
select grand, count(*)
from score
group by grand
查询以上视图时:
select * from result
返回的字段有 grand,count(*)
or replace 是当视图存在时,则会更新这个视图 更新视图
如果没有约束的话,如下:
create view t_view as
select id,name,job
from test.work
where id < 4; update t_view set name = 'xxx'
where id = 4;
以上语句会使 id = 4 的name 变为
'xxx',没有问题,但当加上约束条件时,如果不满足条件,则不允许相应的操作
as:
create view t_view as
select id,name,job
from test.work
where id < 4
with check option; update t_view set name = 'xxx'
where id = 4;
以上更新会失败,因为视图用了约束,后面的所查询的 id
不在创建的视图中,所以无法更新相关数据,又因为视图是可以嵌套的,所以如果只当对前的视图的操作作检测,用
with local check option
约束条件即可,此时只会对当前的视图条件作检测,如果是对其相关的嵌套的视图也作检查,则约束条件用 with
[cascaded] check option,默认是 cascaded 的 删除视图
drop view [if exitsts] view_name
数据库之mysql 视图的更多相关文章
- 数据库之 MySQL --- 视图的原理解析与创建(八)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.什么是视图? 视图:MySQL从5.0.1版本开始提供视图功能.一种虚拟存在的表,行和列的数据来自定 ...
- 第二百八十二节,MySQL数据库-MySQL视图
MySQL数据库-MySQL视图 1.视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 2.也 ...
- mysql数据库从删库到跑路之mysql:视图、触发器、事务、存储过程、函数
mysql:视图.触发器.事务.存储过程.函数 一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,可以将该结果 ...
- Mysql 视图 游标 触发器 存储过程 事务
Mysql 视图 触发器 存储过程 游标 游标是从数据表中提取出来的数据,以临时表的形式存放在内存中,在游标中有一个数据指针,在初始状态下指向的是首记录,利用fetch语句可以移动该指针,从而对游标中 ...
- Mysql视图的作用及其性能分析
定义:视图是从一个或几个基本表导出的表,它与基本表不同,是一个虚表. 作用: 1.简化操作,不用进行多表查询. 2.当不同种类的用用户共享同一个数据库时,非常灵活,(用户以不同的 方式看待同一数据. ...
- Mysql 视图笔记
1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表.视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使 ...
- MYSQL视图的学习笔记
MYSQL视图的学习笔记,学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆 课程笔记的综合. 视图及图形化工具 1. 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚 ...
- 深入解析MySQL视图view
阅读目录---深入解析MySQL视图view 创建视图 查看视图 视图的更改 create or replace view alter DML drop 使用with check option约束 嵌 ...
- MySQL视图view/存储过程和函数的使用
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
随机推荐
- 用CSS让网页背景图片居中的方法
网页背景居中的方法有很多种的.这里介绍一些用CSS让背景图片居中的方法. 让背景图片居中的第一个方法是用像素设定,很多都用这种,但是也是最麻烦的: <div style="width: ...
- VS项目如何运用svn的忽略列表
在实际的项目开发中,有些文件(比如bin,obj下的文件)是不需要放在svn里面的,因为每次都会重新生成. 该如何排除这些文件那? 我试着在svn server上删除了这些文件夹,但是在文件夹上还是显 ...
- android学习日记15--WebView(网络视图)
一.WebView 1.简述 WebView(网络视图)内置WebKit引擎,能加载显示网页,还支持JS,并且能够在Android平台使用AJAXWebView可以在布局中声明,也可以在Activit ...
- android学习日记08--Paint画笔
Paint 要绘图,首先得调整画笔,待画笔调整好之后,再将图像绘制到画布Canvas上,这样才可以显示在手机屏幕上.Android 中的画笔是 Paint类,Paint 中包含了很多方法对其属性进行设 ...
- 设计模式-工厂方法(Demo)
工厂方法 工厂方法跟简单工厂一样.都是创建型的设计模式.他攻克了简单工厂的违背开放封闭的缺点. 故事 主人--人家做饭好累的.女仆抱着我大腿说着.自从上次把她买进家.没做了几次饭就喊累--看着她那出处 ...
- Linux SO_KEEPALIVE属性,心跳
对于面向连接的TCP socket,在实际应用中通常都要检測对端是否处于连接中,连接port分两种情况: 1.连接正常关闭,调用close() shutdown()连接优雅关闭,send与recv立刻 ...
- JavaScript/jQuery选择器简介
DOM提供的选择器 选择器是帮助我们选择页面元素的工具,在网站制作中常常会涉及到某个元素的改变,通过选择器提取这些元素可以很轻易的实现(DOM术语把所说的“元素”称作是“节点”).JavaScript ...
- linux上安装ftp
1.安装 rpm -ivh vsftpd-2.2.2-11.el6_4.1.x86_64.rpm 2.启动 service vsftpd start 3.连接 windows 命令行输入 ftp ww ...
- [记录]使用Gitblit 在windows 上安装Git Server
参考了: Windows平台下搭建Git服务器的图文教程 主要修改了:data/gitblit.properties # Include Gitblit's 'defaults.properties' ...
- 电脑小白学习软件开发-C#语言基础之循环重点讲解,习题
写代码也要读书,爱全栈,更爱生活.每日更新原创IT编程技术及日常实用视频. 我们的目标是:玩得转服务器Web开发,搞得懂移动端,电脑客户端更是不在话下. 本教程是基础教程,适合任何有志于学习软件开发的 ...