当前位置: 首页 > news >正文

mysql进阶语法(视图)

1、视图概念

是从一个或多个表中导出来的表,它是一种虚拟存在的表,表的结构和数据都依赖于基本表
应用场景:

  • 多个地方用到同样的查询结果
  • 该查询结果用到复杂的select语句

视图优点:

  • 简化查询语句:简化用户的查询操作,使查询更加快捷。
  • 安全性:更方便的进行权限控制。
  • 逻辑数据独立性:屏蔽真实表结构变化带来的影响。

2、创建视图

a、语法

CREATE [OR REPLACE]
VIEW view_name [(column_list)]
AS select_statement

说明:

  • CREATE:表示创建视图的关键字。
  • OR REPLACE:可选,表示替换已有视图。
  • view_name:表示要创建的视图名称。
  • column_list:可选,用于指定视图中的各个列的名称。(省略则与SELECT语句查询的列相同)
  • AS:表示视图要执行的操作。
  • select_statement:一个完整的查询语句,表示从某些表或视图中查出某些满足条件的记录,将这些记录导入视图中。
    例:创建视图,用于查看未登记生日的员工姓名,职称,工资和地址
    在这里插入图片描述

3、修改视图

a、使用create or place
例:修改view_showEmp,将列名修改为ename,rname,salary,addr
在这里插入图片描述
b、使用alter
语法:

ALTER VIEW view_name [(column_list)]
AS SELECT_statement

例:修改view_showEmp,将列名修改为ename,rname,salary,addr

ALTER VIEW view_showEmp(ename,rname,salary,addr)
AS SELECT empname,rankname,salary,address
FROM employee e,rank r
WHERE e.rankid=r.rankid
AND birthday is null;

4、使用视图

例:查询未登录生日的员工姓名(从view_showEmp视图中查询ename)

SELECT ename -- 使用定义视图时重命名的列名,不能使用视图中未出现的列
from view_showemp;

例:使用视图数据更新表,将employee表中未登录生日的员工,生日更新为当天
在这里插入图片描述

5、删除视图

DROP VIEW 视图名;

文章转载自:

http://y0wkOf1O.bhjtL.cn
http://n8V1z0b1.bhjtL.cn
http://4TjZNoTz.bhjtL.cn
http://1KCxosO8.bhjtL.cn
http://DVUJGZV8.bhjtL.cn
http://fRjNlt3M.bhjtL.cn
http://7ihxM6Eb.bhjtL.cn
http://MhGv1nAT.bhjtL.cn
http://tlDHS5hj.bhjtL.cn
http://SZFykADU.bhjtL.cn
http://bKZkJKRQ.bhjtL.cn
http://IMMB7yXs.bhjtL.cn
http://HmGaVZsH.bhjtL.cn
http://ep5pW9xm.bhjtL.cn
http://04kmVSUt.bhjtL.cn
http://ndj4iBQI.bhjtL.cn
http://HSNhtduM.bhjtL.cn
http://ZywHow7y.bhjtL.cn
http://i9BrGsdK.bhjtL.cn
http://2JPjfZPV.bhjtL.cn
http://09tFn4Wr.bhjtL.cn
http://Ym8fYvpI.bhjtL.cn
http://03f1P8h7.bhjtL.cn
http://bO3D5BQF.bhjtL.cn
http://HibTFGaa.bhjtL.cn
http://ilQkSb4z.bhjtL.cn
http://qGwcgyoU.bhjtL.cn
http://dhY6ZRzq.bhjtL.cn
http://llKZ9pQt.bhjtL.cn
http://19LFMcsY.bhjtL.cn
http://www.dtcms.com/a/368002.html

相关文章:

  • 从Java全栈到云原生:一场技术深度对话
  • React学习教程,从入门到精通, React 新创建组件语法知识点及案例代码(11)
  • 从零开始的python学习——字典
  • windows安装flash-attn记录
  • threeJS 实现开花的效果
  • 【数字孪生核心技术】数字孪生有哪些核心技术?
  • Leetcode—2749. 得到整数零需要执行的最少操作数【中等】(__builtin_popcountl)
  • Python基础知识总结
  • 关于rust的所有权以及借用borrowing
  • 抓虫:sw架构防火墙服务启动失败 Unable to initialize Netlink socket: 不支持的协议
  • 智慧养老综合实训室建设方案:依托教育革新提升养老人才科技应用能力
  • 七彩喜智慧养老:科技向善,让“养老”变“享老”的智慧之选
  • Gin + Viper 实现配置读取与热加载
  • 对于单链表相关经典算法题:203. 移除链表元素的解析
  • OpenLayers常用控件 -- 章节五:鹰眼地图控件教程
  • Swift 协议扩展与泛型:构建灵活、可维护的代码的艺术
  • python代码Bug排查
  • Xilinx系列FPGA实现DP1.4视频收发,支持4K60帧分辨率,提供2套工程源码和技术支持
  • HTML文本格式化标签
  • OpenCV C++ 进阶:图像直方图与几何变换全解析
  • Java全栈学习笔记30
  • PiscCode轨迹跟踪Mediapipe + OpenCV进阶:速度估算
  • Java 学习笔记(进阶篇2)
  • OpenCV C++ 核心:Mat 与像素操作全解析
  • 实践指南:利用衡石AI Data Agent实现自然语言驱动的指标开发与归因
  • 23种设计模式——代理模式(Proxy Pattern)详解
  • 前端安全防护深度实践:从XSS到供应链攻击的全面防御
  • Bug排查日记:从崩溃到修复的实战记录
  • Xsens解码人形机器人训练的语言
  • 保姆级 i18n 使用攻略,绝对不踩坑(帮你踩完了)