MySQL索引与事务

链接:https://pan.baidu.com/s/1ANGg3Kd_28BzQrA5ya17fQ
提取码:ekpy
复制这段内容后打开百度网盘手机App,操作更方便哦

1.索引的分类

  • 普通索引:这是最基本的索引类型,而且没有唯一性之类的限制
  • 唯一性索引:与普通索引基本相同,区别在于:索引列的所有值都只能出现一次,即必须唯一,但可为空。
  • 主键:是一种特殊的唯一索引,必须指定为PRIMARY KEY,具有唯一性的同时不能为空
  • 全文索引:MySQL3.23.23版开始支持全文索引和全文检索。在MySQL中,全文索引的类型为FULLTEXT,全文索引可以在`VARCHAR或者TEXT类型的列上创建。贴吧的文本内容,和一些小型的网站网页内容,存放在数据库中即为全文索引模式。
  • 单列索引与多列索引:索引可以是单列上创建的索引,也可以是 列上创建的索引。

2.索引的作用

  • 设置了合适的索引之后,数据库利用各种快速的定位技术,能够大大加快查询速率,特别是当表很大时,或者查询涉及到多个表时,使用索引可使查询加快成千倍。
  • 可以降低数据库的lo成本, 并且索引还可以降低数据库的排序成本。
  • 通过创建唯一-性索引保证数据表数据的唯一性,可以加快表与表之间的连接。
  • 在使用分组和排序时,可大大减少分组和排序时间。

3.创建,查看,删除索引的方法

3.1索引的创建

已知一个表内信息数据如下

3.1.1创建普通索引(没有唯一性限制)


(1)示例如下:

查看结果:

(2)示例如下:

查看结果:

3.1.2创建唯一性索引(必须唯一,但可为空)


示例如下:

查看结果:

3.1.3创建主键索引


若新创表时忘记创建主键,示例如下:

查看结果:

3.2索引的查看

3.2.1索引的查看index的使用

(1)示例如下:

(2)示例如下:

3.2.2索引的查看keys的使用

(1)示例如下:

(2)示例如下:

3.3索引的删除

已知有以下索引:

(1)示例如下:

查看结果:

(2)示例如下:

查看结果:

(3)示例如下:

查看结果:

4.事务ACID的特点

  • 原子性:事务是一个完整的操作,事务的各元素是不可分的(原子的),事务的所有元素必须作为一个整体提交或回滚。如果事务中的任何元素失败,则整个事务将失败。
  • 一致性:当事务完成时,数据必须处于一致状态:在事务开始之前,数据库汇总存储的数据处于一致状态;在正在进行的事务中,数据可能处于不一致的状态;当事务完成时,数据必须再次回到已知的一致状态。
  • 隔离性:对数据进行修改的所有并发事务是彼此隔离的,这表明事务必须是独立的,它不应该以任何方式依赖于或影响其他事务。修改数据的事务可以在另一个使用相同数据的事务开始之前访问这些数据,或者在另一个使用相同数据的事务结束之后访问这些数据。
  • 持久性:事务的持久性指不管系统是否发生了故障,事务处理的结果都是永久的。一旦事务被提交,事务的效果会被永久地保留在数据库中。

5.事务的操作

5.1命令简介

5.2实际演练(为实验效果,开启两个窗口,实为一台虚拟机)

已知表内信息数据如下

(1)窗口①示例如下:

窗口②查看结果:

窗口①示例如下:

窗口②查看结果:

(2)窗口①示例如下:

窗口②查看结果:

窗口①示例如下:

窗口②查看结果:

5.3禁止自动提交

默认情况下MySQL的事务是自动提交的,当sql语句提交时事务便自动提交。

(1)窗口①示例如下(关闭自动提交):

窗口②查看结果:

(2)窗口①示例如下(开启自动提交):

窗口②查看结果:

最新文章

  1. 【初恋】vue单页应用开发总结
  2. Bash 中 SHLVL 变量为 1000 的时候
  3. iOS开发技巧-2
  4. python bottle框架
  5. UILabel详解
  6. SQL Server Index详解
  7. 基于ZooKeeper的分布式Session实现(转)
  8. PHP浮点数的精度
  9. C++:构造函数和析构函数能否为虚函数
  10. 第一个Cookie应用
  11. fiddler--firefiox代理
  12. 关于 <textarea ></textarea >标签在苹果微信浏览器出现 内阴影
  13. 【BZOJ3944】Sum(杜教筛)
  14. 2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: dlopen(../Frameworks/caching_sha2_password.so, 2): image not found
  15. 吴恩达机器学习笔记35-诊断偏差和方差(Diagnosing Bias vs. Variance)
  16. RFC-RTSP
  17. 《温故而知新》JAVA基础一
  18. linux console 显示颜色【转】
  19. 项目打成jar包
  20. linux的目录结构及文件基本操作

热门文章

  1. 【杂记】docker搭建ELK 集群6.4.0版本 + elasticsearch-head IK分词器与拼音分词器整合
  2. while循环与getopts处理
  3. go语言从例子开始之Example16.函数递归
  4. Docker配置阿里云镜像加速pull
  5. 基于Kubernetes 的Cloud Native 实战 培训课程安排
  6. JavaSE---main方法解读
  7. 每天一个linux命令:touch(9)
  8. 【Flutter学习】之 Flutter 的生命周期
  9. 容器————priority_queue
  10. SpringMVC·form表单Date类型问题导致的400问题