1. 使用前准备
1.1 了解
什么是
PyMySQL
?
PyMySQL
是在Python3.x
版本中用于连接MySQL
服务器的一个库,Python2
中则使用mysqldb
。
1.2 安装方式
- 确认已经安装了
Python
和pip
,可以通过以下命令进行检查:
python --version
pip --version
- 如果安装了
pip
,可以使用如下指令进行安装
pip install pymysql
- 如果安装了
pycharm
,也可以在软件里安装
2. Pymysql的使用
2.1 连接数据库
import pymysql
# 打开数据库连接
db = pymysql.connect(
host='localhost',
# port=3306,
user='user',
passwd='123456',
db='test_db',
charset='UTF8'
)
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# 使用 execute() 方法执行 SQL 查询
cursor.execute("SELECT VERSION()")
# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()
print("Database version : %s " % data)
# 关闭数据库连接
db.close()
2.2 数据库查询操作
有关函数如下:
函数 | 含义 |
---|---|
fetchone() | 该方法获取下一个查询结果集。结果集是一个对象 |
fetchall() | 接收全部的返回结果行 |
rowcount | 这是一个只读属性,并返回执行execute()方法后影响的行数 |
举例:
# 使用 execute() 方法执行 SQL 查询
sql = "SELECT title,url FROM website LIMIT 10;"
cursor.execute(sql)
# 获取数据
data = cursor.fetchall()
for row in data:
title = row[0]
url = row[1]
# 打印结果
print(title + " " + url)
# 计算检索行数
count = cursor.rowcount
print(count) # 10
2.3 执行事务
对于支持事务的数据库, 在
Python
数据库编程中,当游标建立之时,就自动开始了一个隐形的数据库事务。
①commit()
方法游标的所有更新操作
②rollback
()方法回滚当前游标的所有操作。
每一个方法都开始了一个新的事务。
举例:
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# SQL删除记录语句
sql = "DELETE FROM website WHERE id = 19"
try:
# 执行SQL语句
cursor.execute(sql)
# 向数据库提交
db.commit()
except:
# 发生错误时回滚
db.rollback()
3 参考文献
[1] 菜鸟教程
[2] rowcount的使用