Python数据库框架PyMySQL入门
-
- 使用了
pymysql可以使用python语句对数据库进行操作;
- 使用了
-
- 安装:
pip install pymysql
-
- 这里借助使用Flask对象,创建app.py文件:
from flask import Flask
import pymysql
pymysql.install_as_MySQLdb()
app = Flask(__name__)
conn = pymysql.Connect(
host = '127.0.0.1', # 主机名
port = 3306, # 端口
user = 'root', # 用户
passwd = 'root', #密码
db = 'wuhao', # 数据库名
charset = 'utf8') # 字符集
-
- Python建立与数据的连接,事实上是建立一个MySQLdb.connect()的连接对象,通过连接对象就能和数据库进行数据交互,对象常用的方法如下:
(1) 创建游标对象并返回:cursor()
(2) 提交当前事务操作,对数据库的增、删、改、查先保存到缓存里,当执行此方法时再提交给数据库:commit()
(3) 回滚当前事务操作,取消前面操作: rollback()
(4) 关闭数据库连接:close()
-
- 建立连接后,操作数据库就需要让Python对数据库执行SQL语句, 这里是通过游标对象完成的:
cursor = conn.cursor()
sql = "select * from user"
cursor.execute(sql) # 执行sql语句
-
增删改查:
cursor.execute():用于执行一个数据库的查询命令, 进行增删改查
cursor.fetchone():获取结果集中的下一行
cursor.fetchmany(size):获取结果集中的下(size)行
cursor.fetchall():获取结果集中剩下的所有行
cursor.rowcount():最近一次执行数据库查询命令后,返回数据的行数
cursor.close():关闭游标
-
- 执行事务:
事务可以保证数据一致性
事务应该具有4个属性:原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。
(1) 原子性(atomicity): 一个事务是一个不可分割的工作单位,事务中包括的诸操作要么都做,要么都不做
(2)一致性(consistency):事务必须是使数据库从一个一致性状态变到另一个一致性状态。一致性与原子性是密切相关的。
(3)隔离性(isolation)。一个事务的执行不能被其他事务干扰。即一个事务内部的操作及使用的数据对并发的其他事务是隔离的,并发执行的各个事务之间不能互相干扰。
(4)持久性(durability)。持续性也称永久性(permanence),指一个事务一旦提交,它对数据库中数据的改变就应该是永久性的。接下来的其他操作或故障不应该对其有任何影响。
对于支持事务的数据库, 在Python数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务,所以我们只需要考虑提交事务即可
样例:
# SQL删除记录语句
sql = "DELETE FROM EMPLOYEE WHERE AGE > %s" % (20)
try:
# 执行SQL语句
cursor.execute(sql)
# 向数据库提交
db.commit()
except:
# 发生错误时回滚
db.rollback()

浙公网安备 33010602011771号