1、事务就是将一组SQL语句放在同一批次内去执行,如果一个SQL语句出错,则该批次内的所有SQL都将被取消执行。(注意:只支持InnoDB和BDB数据表类型)
2、事务的ACID原则:原子性、一致性、隔离性、持久性
3、MySQL的事务实现方法:
SET AUTOCOMMIT = 0; #关闭自动提交模式
SET AUTOCOMMIT = 1; #开启自动提交模式
》MySQL中默认是自动提交;使用事务时应先关闭自动提交
START TRANSACTION:开始一个事务,标记事务的起始点
COMMIT:提交一个事务给数据库
ROLLBACK:将事务回滚,数据回到本次事务的初始状态
4、数据库索引
作用:提高查询速度;确保数据的唯一性;可以加速表和表之间的连接,实现表与表之间的参照完整性;使用分组和排序子句进行数据检索时,可以显著减少分组和排序时间;全文检索字段进行搜索优化。
分类:主键索引(PRIMARY KEY)、唯一索引(UNIQUE)、常规索引(INDEX)、全文索引(FULLTEXT)
5、主键索引:因为主键具有唯一性,所以主键索引也只能是一个。
6、唯一索引:避免同一个表中某数据列中的值重复
与主键索引的区别:主键索引只能有一个而唯一索引可有多个。
7、常规索引:快速定位特定数据
》index和key关键字都可设置常规索引
》应加在查找条件的字段
》不宜添加太多,影响数据的插入、删除和修改操作
8、管理索引:
创建索引:
》建表后追加:ALTER TABLE 表名 ADD 索引类型(数据列名)
删除索引:
》DROP INDEX 索引名 ON 表名
》ALTER TABLE 表名 DROP INDEX 索引名
》ALTER TABLE 表名 DROP PRIMARY KEY
查看索引:
》SHOW INDEX (或KEYS) FROM 表名