3-1-5 MySQL基础-事务机制与数据导入导出
事务机制
如果数据的写入直接操作数据文件是非常危险的事情,所以MySQL利用日志来间接写入.
MySQL总共5种日志,其中只有redo和undo日志与事务有关

什么是事务
事务是一个或多个SQL语句组成的整体,要么全部执行成功,要么全部执行失败
RDBMS = SQL语句 + 事务(ACID)
管理事务
默认情况下,MySQL执行每条SQL都会自动开启和提交事务.
为了让多条SQL纳入到一个事务下,可以手动管理事务.
START TRANSACTION;
SQL语句
[COMMIT][ROLLBACK];
事务的ACID属性
原子性:一个事务中的所有操作,要么全部成功,要么全部失败.
一致性:一个事务运行结果必须保持一致.事务可以并发执行,但最终Mysql却串行执行.
隔离性:事务要求不受其他并发事务的影响,如果给定时间内,该事务是数据库唯一运行的事务.
持久性:事务一旦提交,结果便是永久性的,即使发送宕机依然可以靠事务日志完成诗句持久化
事务的隔离级别
read uncommitted 读取未提交数据
read committed 读取已提交数据
repeatable 重复读取,得到的结果是一致的,不会受其他事务影响
serializable 序列化,让事务串行执行,就不会产生上述问题了
数据导入导出
数据导出与备份的区别
1.数据导出,导出的是纯粹的业务数据
2.数据备份,备份的是数据文件,日志文件,索引文件等等
导出SQL文件
mysqldunmp用来把业务数据导出成SQL文件,其中也包括表结构
mysqldump -uroot -p [no-data] 逻辑库 > 路径
如果业务数据特别多,建议只导出表结构,然后用SELCT INTO OUTFILE把数据导出成文本文档
导入SQL文件
source命令用于导入SQL文件,包括创建数据表,写入记录等.
1 USE demo; 2 SOURCE backup.sql

浙公网安备 33010602011771号