MySql_事务、索引

1、事务

所谓事务,它是一个操作序列,这些操作要么都执行,要么都不执行,它是一个不可分割的工作单位
事务得四大特征:
1、原子性(atomicity):
	一个事务必须被视为一个不可分割的最小工作单元,整个事务中的所有操作要么全部提交成功,要么全部失败回滚,对于一个事务来说,不可能只执行其中的一部分操作,这就是事务的原子性
2、一致性(consistency):
	数据库总是从一个一致性的状态转换到另一个一致性的状态。
3、隔离性(isolation)
	通常来说,一个事务所做的修改在最终提交以前,对其他事务是不可见的。
4、持久性(durability)
	一旦事务提交,则其所做的修改会永久保存到数据库。

开启事务
begin / start transaction


提交事务
commit


放弃缓存中变更的数据
rollback


例:
不输入commit的状态为,数据无法保证一致性、且显示了事务的隔离性及对应的持久性
在这里插入图片描述

2、索引

索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。
索引的目的在于提高查询效率

增加外键、主键均会对表增加索引
表中索引的类型为B+树

查看索引
show index from student;
创建索引
create index name on student(name(30));
删除索引
drop index cls_id on student;无法删除
已关联外键,需先删除外键,删除外键前先查看外键名称show create table student;

1、alter table student drop foreign key stuent_ibfk
_1
2、drop index cls_id on student;

创建用户及权限

从musql8开始
需先创建用户,再设定权限
1、create user 'kml'@'%' identified by '123456789'
2、grant select on python.* to 'kml'@'%'with grant option;
mysql8以下版本:
grant select on jd.* to 'laowang'@'localhost' identified by '123456';

猜你喜欢

转载自blog.csdn.net/qq_37697566/article/details/103475617