作者简介:小明java问道之路,专注于研究 Java/Liunx内核/C++及汇编/计算机底层原理/源码,就职于大型金融公司后端高级工程师,擅长交易领域的高安全/可用/并发/性能的架构设计与演进、系统优化与稳定性建设。
热衷分享,喜欢原创~ 关注我会给你带来一些不一样的认知和成长。
CSDN博客专家 | CSDN后端领域优质创作者 | CSDN内容合伙人 | 2022博客之星
InfoQ(极客邦)签约作者、阿里云专家 | 签约博主、51CTO专家 | TOP红人、华为云享专家
如果此文还不错的话,还请关注、点赞、收藏三连支持一下博主~
文末获取联系 精彩专栏推荐订阅收藏
专栏系列(点击解锁) 学习路线(点击解锁) 知识定位 Redis从入门到精通与实战 Redis从入门到精通与实战 围绕原理源码讲解Redis面试知识点与实战 MySQL从入门到精通 MySQL从入门到精通 全面讲解MySQL知识与企业级MySQL实战 计算机底层原理 深入理解计算机系统CSAPP 以深入理解计算机系统为基石,构件计算机体系和计算机思维 Linux内核源码解析 围绕Linux内核讲解计算机底层原理与并发 数据结构与企业题库精讲 数据结构与企业题库精讲 结合工作经验深入浅出,适合各层次,笔试面试算法题精讲 互联网架构分析与实战 企业系统架构分析实践与落地 行业最前沿视角,专注于技术架构升级路线、架构实践 互联网企业防资损实践 互联网金融公司的防资损方法论、代码与实践 Java全栈白宝书 精通Java8与函数式编程 本专栏以实战为基础,逐步深入Java8以及未来的编程模式 深入理解JVM 详细介绍内存区域、字节码、方法底层,类加载和GC等知识 深入理解高并发编程 深入Liunx内核、汇编、C++全方位理解并发编程 Spring源码分析 Spring核心IOC/AOP等源码分析 MyBatis源码分析 MyBatis核心源码分析 Java核心技术 只讲Java核心技术
本文目录
本文目录
本文导读
一、视图(view)的基本概念
1、什么是视图(view)
2、视图(view)的使用场景
二、视图增删改查的实战
1、MySQL创建视图(CREATE VIEW)
2、MySQL查看视图(DESCRIBE、SHOW CREATE VIEW )
3、MySQL删除视图(DORP VIEW)
4、MySQL修改视图(ALTER VIEW)
三、视图操作基表数据实战(视图对表的增删改)
总结
本文导读
本文主要讲解视图(view)的基本概念,什么是视图以及视图的使用场景,视图增删改查的实战(CREATE、DESCRIBE、SHOW CREATE、DORP和ALTER),视图的更新操作包括增加(INSERT)、删除(DELETE)和更新(UPDATE)的视图操作基表数据实战。
一、视图(view)的基本概念
1、什么是视图(view)
视图(view)是一个虚拟的逻辑表,视图本身不包含数据,仅作为select语句保存在数据字典中。
视图所依赖的表称为基表(创建视图的数据库表),视图的创建和删除只影响视图本身,而不影响相应的基表,在视图中添加、删除和修改数据时,数据表中的数据将相应地更改,同样的数据库基表中添加、删除和修改视图也会更改。
通常小型项目的数据库一般不使用视图,在大型项目中,当数据表很复杂时,视图可以帮助我们将频繁查询的结果集放到虚拟表中,以提高使用效率。
2、视图(view)的使用场景
使用视图的不需要关心相应表的结构、关联条件和过滤条件,视图已过滤复合条件的结果集。
使用视图的只能访问允许查询的结果集,基表权限管理不能局限于行或列,可以通过视图简单地实现。
使用视图结构,可以掩盖表结构更改对用户的影响,向基表中添加列对视图没有影响,如果修改了基表的列名,可以通过修改视图来解决,而不会影响访问者。
视图的大部分使用是为了确保数据安全和提高查询效率。
二、视图增删改查的实战
1、MySQL创建视图(CREATE VIEW)
CREATE VIEW 语句来创建视图,
-- CREATE VIEW 语句来创建视图
--
-- SELECT不能引用系统或用户变量,不能在FROM中包含子查询,也不能引用预处理的语句参数
CREATE VIEW <视图名> AS
-- 例如
CREATE VIEW view_name AS SELECT * FROM order_info;
2、MySQL查看视图(DESCRIBE、SHOW CREATE VIEW )
与数据表信息一样,使用DESCRIBE关键字查看视图字段信息,使用 SHOW CREATE VIEW 语句查看视图的详细信息。
-- 查看视图
DESCRIBE 视图名;
DESC 视图名;
-- SHOW CREATE VIEW 语句查看视图的详细信息
SHOW CREATE VIEW 视图名;
3、MySQL删除视图(DORP VIEW)
删除视图是指删除MySQL数据库中的现有视图,删除视图时,只能删除视图的定义,而不能删除数据。
-- 使用 DROP VIEW 语句来删除视图。
DROP VIEW <视图名1> [ , <视图名2> …]
4、MySQL修改视图(ALTER VIEW)
修改视图( ALTER VIEW )是指修改MySQL数据库中现有的视图。当基本表的某些字段发生更改时,可以修改视图以保持与基本表的一致性。
要修改视图的定义,可以使用 ALTER VIEW或 DROP VIEW 语句先删除视图,然后使用 CREATE VIEW 语句再次创建,使用 WITH CHECK OPTION 意味着在修改视图时,检查插入的数据是否满足WHERE设置的条件。
可以使用 UPDATE、DELETE 或 INSERT 等语句更新基本表的内容。对于以下结构中的任何一种,它就是不可更新的:聚合函数 SUM()、MIN()、MAX()、COUNT() 等、DISTINCT 关键字、HAVING 、UNION 或 UNION ALL 运算符、FROM 子查询、FROM 包含多个表。
-- 使用 ALTER VIEW 语句来对已有的视图进行修改
ALTER VIEW <视图名> AS
三、视图操作基表数据实战(视图对表的增删改)
视图的更新操作还包括增加(INSERT)、删除(DELETE)和更新(UPDATE)数据,更新操作的实际对象是基表。
-- INSERT语句通过视图添加数据
INSERT [into] 视图名 [(字段名1, 字段名2, …)] values | value (值1, 值2, …);
-- 例如
INSERT into view_name values (***,***,***);
-- DELETE语句通过视图删除数据
DELETE from 视图名 [where 条件语句]
-- 例如
DELETE from view_name where name='***';
-- UPDATE语句通过视图更新数据
UPDATE 视图名 set 字段名=值 [where 更新条件]
-- 例如
UPDATE view_name set name='****' where name='***'
总结
本文主要讲解视图(view)的基本概念,什么是视图以及视图的使用场景,视图增删改查的实战(CREATE、DESCRIBE、SHOW CREATE、DORP和ALTER),视图的更新操作包括增加(INSERT)、删除(DELETE)和更新(UPDATE)的视图操作基表数据实战。
发表评论