1、事务
事务操作分两种:自动事务(默认)、手动事务
手动事务的操作流程
开启事务:start transaction;
进行事务操作
关闭事务
提交事务:commit;同步数据表,表示操作成功
回滚事务:rollback;直接清空日志表,表示操作失败
操作原理:事务开启之后,所有的操作都会临时保存到事务日志,而事务日志只有在得到commit命令才会同步到数据表,其他任何情况都会清空,比如rollback、断电、断开连接
回滚点:设置回滚点语法:savepoint 回滚点名字;
回到回滚点语法:rollback to 回滚点名字;
自动事务处理:show variables like 'autocommit';
关闭自动提交:set autocommit=off/0;
事务的四大特性:ACID
A:Atomic,原子性
C:Consistency,一致性
I:Isolation,隔离性
D:Durability,持久性
锁机制
2、MySQL与Python交互
步骤:准备数据+SQL演练
* 创建数据表
* 插入数据
* 用SQL语句操作增删改查
3、Python 中操作 MySQL 步骤
*1* 在py文件中引入pymysql模块
*2* Connection 对象。用于建立与数据库的连接、创建对象:调用connect()方法
参数host:连接的mysql主机,如果本机是'localhost'
参数port:连接的mysql主机的端口,默认是3306
参数database:数据库的名称
参数user:连接的用户名
参数password:连接的密码
参数charset:通信采用的编码方式,推荐使用utf8
对象的方法
close()关闭连接
commit()提交
cursor()返回Cursor对象,用于执行sql语句并获得结果
*3* Cursor对象
用于执行sql语句,使用频度最高的语句为select、insert、update、delete
获取Cursor对象:调用Connection对象的cursor()方法
对象的方法
close()关闭
execute(operation [, parameters ])执行语句,返回受影响的行数,主要用于执行insert、update、delete语句,也可以执行create、alter、drop等语句
fetchone()执行查询语句时,获取查询结果集的第一个行数据,返回一个元组
fetchall()执行查询时,获取结果集的所有行,一行构成一个元组,再将这些元组装入一个元组返回
对象的属性
rowcount只读属性,表示最近一次execute()执行后受影响的行数
connection获得当前连接对象