位置: 编程技术 - 正文

MySQL入门教程(七)之视图(mysql新手教程)

编辑:rootadmin

推荐整理分享MySQL入门教程(七)之视图(mysql新手教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql入门很简单 视频,mysql 入门,mysql新手入门,mysql入门很简单,mysql 入门,mysql入门很简单,MySQL入门教程,mysql入门很轻松,内容如对您有帮助,希望把文章链接给更多的朋友!

相关阅读:

MySQL入门教程(五)之表的创建、修改和删除

视图是从一个或多个表中导出来的虚拟表。视图就像一个窗口,通过这个窗口可以看到系统专门提供的数据。

1、视图简介

1.1 视图的含义

视图是从一个或多个表中导出来的虚拟表,还可以从已经存在的视图的基础上定义。数据库中只存放视图的定义,而不存放视图中的数据,这些数据仍存放在原来的表中。一旦表中的数据发生变化,显示在视图中的数据也会相应变化。MySQL的视图并不支持输入参数的功能,即交互性上较差,但对于变化不是很大的操作,使用视图可以很大程度上简化用户的操作。

1.2 视图的作用

视图起着类似于筛选的作用,具体可归纳为

(1)所见即所需,使操作简单化(2)通过视图,用户只能查询和修改指定的数据,从而限制了用户的权限,增加了数据的安全性(3)视图可以屏蔽原有表结构变化带来的影响,从而提高了表的逻辑独立性。

2、创建视图

MySQL中,创建视图是通过Creat View语句实现的,具体为

其中,Algorithm为视图选择的算法;属性清单指定了视图中各个属性的名词,默认情况下与Select语句中查询的属性相同;Select语句是一个完整的查询语句,表示从某个表中查出某些满足条件的记录并将这些记录导入到视图中;With Check Option表示更新视图时要保证在该视图的权限范围之内,CASCADED表示更新视图时要满足所有相关视图和表的条件,为默认值,Local表示更新视图时要满足该视图本身的定义即可;注意在使用创建视图时最好加上With Check Option,并选取默认的CASCADED参数。从而保证从视图派生出来的新视图在更新后可以考虑其父视图的约束条件,即更严谨。

(1)关于Algorithm中的三个选项,Undefined选项表示MySQL将自动选择所要使用的算法,Merge选项表示将使用视图的语句与视图定义合并起来,使得视图定义的某一部分代替语句的对应部分,Temptable选项表示将视图的结果存入临时表,然后使用临时表执行语句。

(2)需要注意的是,在创建视图之前,需要检查是否具有Create view的权限和查询涉及的列的Select权限,这些权限保存在MySQL数据库下面的user表中,可以适用select语句查询,具体为

其中,用户名参数表示要查询哪个用户是否拥有Drop权限,在我的系统中,只有root用户。

下面是一个从department表和worker表上创建一个名为worker_view1的视图的案例

3、查看视图

查看视图必须要有show view的权限,同样保存在user表中。

查看视图的方法包括describe语句、show table status语句、show create view语句和查询information_schema数据库下的views表等。

3.1 describe语句查看简单信息

查看视图的describe语句和查看表的语句是一样的,因为视图是一种特殊的表,基本形式为

describe 视图名;

3.2 show table status语句查看基本信息

基本形式为

Show Table Status Like ‘视图名';

3.3 show create view语句查看详细信息

基本形式为

MySQL入门教程(七)之视图(mysql新手教程)

Show create view 视图名;

3.4 在views表中查看详细信息

MySQL中,所有视图的定义都存在information_schema数据库下的views表中,查询此表即可查看到数据库中所有视图的详细信息。

基本形式为

其中*表示查询所有的列的信息。

显然用此语句查看到的是所有的视图,不方便查阅,一般查询详细信息时用3.3法即可。

4、修改视图

当基本表的某些字段发生改变时,有必要修改视图的定义来保持视图和基本表之间的一致性。

4.1 Create or replace view语句

此语句很好用,在存在视图情况下可对视图进行修改,在没有视图情况下,可以创建视图,具体语法为

实际上,感觉此语句就是重新定义了个视图并覆盖了原始图。<??#;" target="_blank" class="keylink">vcD4NCjxoMyBpZD0="-alter语句">4.2 Alter语句

回顾前面,alter语句不仅可以创建索引,修改表的定义,在此处,还可以修改视图的定义。基本形式为

5、更新视图

更新视图是指通过视图来插入、更新和删除表中的数据。更新视图时,只能更新权限范围内的数据。实际上对视图的更新最后都是实现在基本表上的。

注意以下情况不能更新视图:

(1)视图中包含sum(),count(),max()和min()等函数

(2)视图中包含union,union all,distinct,group by和having等关键字

(3)常量视图,即视图中的某个字段时常量类型

(4)视图中的select中包含子查询

(5)由不可更新的视图导出的视图

(6)创建视图时,algorithm选择了temptable类型,即系统默认临时表是不可更新的

(7)视图对应的表上存在没有默认值的列,且该列没有包含在视图中。因为,在更新视图时,这个没有默认值的记录将没有值插入,也没有NULL值插入,系统不允许这种情况出现

由于视图的更新存在很多限制,一般,最好把视图作为查询数据的虚拟表,而不要通过视图来更新数据,很容易造成更新失败。

6、删除视图

删除视图只会删除视图的定义,并不会删除数据。DROP View语句可用来删除视图,但用户必须拥有drop的权限,具体操作为

drop view [if exists] 视图名列表 [restrict|cascade]

其中,if exists用来判断视图存在,存在才执行;在视图名列表中不同视图名称之间通过逗号隔开。

以上所述是小编给大家介绍的MySQL入门教程(七)之视图,希望对大家有所帮助!

mysql登录报错提示:ERROR ()的解决方法 本文分析了mysql登录报错提示:ERROR()的解决方法。分享给大家供大家参考,具体如下:一、问题:公司linux系统的mysql数据库root用户设置过密码,

Windows下MySQL 5.6安装及配置详细图解(大图版) 一、安装前的准备1、下载安装程序包,可到MySQL官方网站www.mysql.com下载,如图1-1:图1-1下载后的安装文件如图1-2所示:图1-2二、安装1、双击下载的安装

在Linux系统安装Mysql教程 引言现在因为项目的需要在搭建Mysql的集群,从最简单的开始,先安装一个Mysql在linux系统下。步骤:第一步:安装:tarmysql-5.5.-linux2.-x_.tar.gzCopy到指

标签: mysql新手教程

本文链接地址:https://www.jiuchutong.com/biancheng/321267.html 转载请保留说明!

上一篇:windows下MySQL 5.7.3.0安装配置图解教程(安装版)

下一篇:mysql登录报错提示:ERROR 1045 (28000)的解决方法(mysql登录报1045)

  • 增值税结转会计科目
  • 外商投资的企业是民营企业吗
  • 会展服务费怎么开票
  • 折扣优惠 印花税也是折扣缴纳吗
  • 小规模纳税人无进项票怎么办
  • 报关单金额大于合同金额
  • 债券溢价摊销额计算公式
  • 设备维修费怎么入账
  • 现金存入公司账户风险大吗安全吗
  • 税务局开租赁发票
  • 问福利费的发票如果是增值税专用发票,增值税可以抵扣吗?
  • 财务费用是否存入银行卡
  • 销售方开具的红字信息表
  • 当月计提当月缴纳的增值税还用结转吗
  • 先计提房租后收到发票 发票附在哪
  • 保险公司买保险和银行买保险有什么区别
  • 委托招聘服务费怎么算
  • 电脑输入法切换键怎么设置
  • mac系统中文输入法切换
  • 计提安全费用含税还是不含税
  • 赔偿材料做什么分录
  • 失业稳岗补贴要交社保吗
  • 经济业务原始凭证分录
  • dghm.exe是什么程序
  • .ico是什么文件
  • php加入图片代码
  • 会计的四大基本要素
  • 承担客户车辆维修责任
  • 诉讼费属于什么费用
  • php实现分页显示
  • 利息增值税及附加计算
  • vue3加ts
  • sortable js
  • php弹出登录框
  • 发票取得取得售卡方公司开具的增值税专用发票
  • 库存商品的盘盈盘亏
  • 利息收入怎么做账务处理
  • 应交税金应交增值税科目设置
  • 员工体检费发票可以抵扣进项吗
  • 什么是企业所得税收入
  • 金税盘怎么写入发票
  • php composer 常用库
  • 增值税发票的认证
  • springsecurity有什么用
  • 固定资产一次性扣除政策
  • 工伤鉴定费计入什么科目
  • 计入其他综合收益的有哪些
  • 小规模纳税人未开票收入如何申报增值税
  • 出租车发票能不能抵扣进项
  • 虚开发票会面临怎么样的后果?
  • 劳务派遣公司如何赚钱的?
  • 打印银行电子流水发到别人邮箱,能看到我的账户余额吗
  • 无形资产资本化加计扣除可抵扣暂时性差异
  • 子公司和区域公司的区别
  • 账面价值大于计税基础是调增还是调减
  • 销售费用明细科目里有什么
  • 企业如何建账之类的账目
  • sql存储过程什么意思
  • 如何恢复数据库删除的文件
  • sql语句优化的13种方法
  • centos6.7安装图形界面教程
  • 怎么在VMware上玩LOL
  • 苹果电脑Mac系统版本所对应的数字
  • 手机连接电脑win11
  • Win7系统打开D盘文件后怎么没有后退箭头
  • cocos2dx游戏案例
  • 学习软件
  • jQuery.trim() 函数及trim()用法详解
  • Android游戏开发教程
  • android基础教程
  • js作用域和作用域链的理解阮一峰
  • jquery判断对象是否存在
  • python安装后怎么用
  • 重庆电子税务局app下载
  • 山东省国家税务局总局官网
  • 江苏国税电子税务局怎么申报
  • 长春国税局科员工资是多少
  • 四川职工医保联网了吗
  • 增值税按次纳税的规定
  • 武汉市第二税务稽查局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设