欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MySQL视图与索引(基础介绍)

程序员文章站 2022-03-26 13:31:22
MySQL安装与配置(入门篇):https://blog.csdn.net/weixin_46214451/article/details/107382609MySQL基础句法(基础篇 上):https://blog.csdn.net/weixin_46214451/article/details/107400726MySQL复杂查询与函数(基础篇 中):https://blog.csdn.net/weixin_46214451/article/details/107456331一、视图1.视图概述...

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.视图概述:我们查询时会用到非常复杂的SELECT语句,而这个语句我们以后还会经常用到,我们可以经这个语句生产视图。视图是一个虚拟的表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进阶,包括数据库引擎,数据库架构,索引进阶和索引数据结构,进阶部分需要有一定计算机专业基础才能理解

本文地址:https://blog.csdn.net/weixin_46214451/article/details/107465925

相关标签: mysql sql