MySQL视图与索引(基础篇 下)

MySQL安装与配置(入门篇):https://blog.csdn.net/weixin_46214451/article/details/107382609
MySQL基础句法(基础篇 上):https://blog.csdn.net/weixin_46214451/article/details/107400726
MySQL复杂查询与函数(基础篇 中):https://blog.csdn.net/weixin_46214451/article/details/107456331

一、视图

1.视图概述:一个表是真实存在的,视图是表的一部分,是虚拟的,比如一张表中有十个字段,但是我只想给你展示出五个字段,那就可以创建一个视图,显示表中的部分数据。复杂视图也可以是多张表的部分组合在一起
MySQL视图与索引(基础篇 下)
2.创建视图
语法:CREATE VIEW 视图名 AS 一条完整的SQL语句
这是一条完整的sql语句,查询出了如下结果
MySQL视图与索引(基础篇 下)
当执行全部sql语句就生成了相应的视图
MySQL视图与索引(基础篇 下)
记得刷新一下
MySQL视图与索引(基础篇 下)
可以通过视图删除基表中数据,只要视图中不出现以下情况:
Group 函数;
GROUP BY 子句;
DISTINCT 关键字;

可以通过视图修改基表中数据,只要视图中不出现以下情况:
GROUP函数、GROUP BY子句,DISTINCT关键字;
使用表达式定义的列;

可以通过视图向基表插入数据,只要视图中不出现以下情况:
GROUP函数、GROUP BY子句,DISTINCT关键字;
使用表达式定义的列;
基表中未在视图中选择的其它列定义为非空并且没有默认值;
:操作视图会改变基表中的数据,因为视图是基于表的虚表
MySQL视图与索引(基础篇 下)
MySQL视图与索引(基础篇 下)
例2:修改视图只能修改视图中的字段不能修改基表中的字段
MySQL视图与索引(基础篇 下)
3.删除视图
语法:DROP VIEW 视图名
删除视图并不会删除数据,因为视图是基于数据库中的基表的虚表。

索引入门

1.索引概述:官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
索引类型:
主键索引:索引列中的值必须是唯一的,不允许有空值。
普通索引:MySQL中基本索引类型,没有什么限制,允许在定义索引的列中插入重复值和空值。
唯一索引:索引列中的值必须是唯一的,但是允许为空值。
全文索引:只能在文本类型CHAR,VARCHAR,TEXT类型字段上创建全文索引。字段长度比较大时,如果创建普通索引,在进行like模糊查询时效率比较低,这时可以创建全文索引。
空间索引:MySQL在5.7之后的版本支持了空间索引,而且支持OpenGIS几何数据模型。MySQL
在空间索引这方面遵循OpenGIS几何数据模型规则。
前缀索引:在文本类型如CHAR,VARCHAR,TEXT类列上创建索引时,可以指定索引列的长度,但是数值类型不能指定。
单列索引:索引中只有一个列。
组合索引:使用2个以上的字段创建的索引。
以上索引类型了解即可
2.创建索引
(1.创建表的时候添加索引):普通索引
MySQL视图与索引(基础篇 下)
(2.在已存在的表中添加索引):普通索引
语法:ALTER TABLE 表名 ADD INDEX 索引名(字段名)

3.查看索引
语法:SHOW INDEX FROM 索引名
MySQL视图与索引(基础篇 下)
4.删除索引
语法:DROP INDEX 索引名 ON 表名
平时建表的时候默认主键为索引

MySQL基础部分到这里就全都写完了,完全掌握基础部分就已经达到在企业中的应用水平,但是MySQL的知识远远不止这些,接下来我会写MySQL进阶,包括数据库引擎,数据库架构,索引进阶和索引数据结构,进阶部分需要有一定计算机专业基础才能理解