认识pymysql
借助pymysql模块,这是一个python编写的MYSQL驱动程序,借助它来操作数据库。
操作数据库的流程和java 使用原生的JDBC操作数据的流程步骤差不多。
安装pymysql
pip install pymysql
操作步骤
导入pymysql模块
import pymysql
创建数据库连接对象
conn = pymysql.connect(参数列表)
- host: 连接的mysql主机地址
- port: 连接的端口
- database: 连接的数据库名称
- user: 连接的用户面
- password: 连接密码
- charset: 连接采用的编码方式,推荐使用utf-8
conn.close(): 关闭连接
conn.commit(): 提交数据
conn.rollback(): 撤销数据
获取操作游标对象
使用游标对象,完成对数据库的增删改查操作
cur = conn.cursor()
- execute(语句): 执行操作数据库的语句
- fetchone(): 获取查询结果集中的一条数据,返回一个元组
- fetchall(): 获取查询结果集中的所有数据,返回一个元组
- close(): 关闭游标对象
使用示例
获取一条用户数据
示例
# 导入操作数据库的模块
import pymysql
# 创建数据库连接对象
conn = pymysql.connect(host="127.0.0.1",
port=3306,
user="root",
password="123456",
database="test",
charset="utf8")
# 获取游标对象
cursor = conn.cursor()
# 执行操作语句
sql = "select * from user;"
cursor.execute(sql)
# 获取查询结果集
row = cursor.fetchone()
print(row)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
运行结果
('10000', 'admin', 'admin', '00', '', None, '', None, '', '', '94450247b4faaabacd7f71ab19da03e6', '0', datetime.datetime(2024, 1, 8, 10, 17, 47), None, 0, '管理员用户')
获取所有数据
示例
# 导入操作数据库的模块
import pymysql
# 创建数据库连接对象
conn = pymysql.connect(host="127.0.0.1",
port=3306,
user="root",
password="123456",
database="test",
charset="utf8")
# 获取游标对象
cursor = conn.cursor()
# 执行操作语句
sql = "select * from user;"
cursor.execute(sql)
# 获取查询结果集
row = cursor.fetchall()
print(row)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
这里获取到的就是数据库user表里所有的数据。
数据库的增删改
示例
# 导入操作数据库的模块
import pymysql
# 创建数据库连接对象
conn = pymysql.connect(host="127.0.0.1",
port=3306,
user="root",
password="123456",
database="test",
charset="utf8")
# 获取游标对象
cursor = conn.cursor()
# 执行操作语句
# 增加操作 sql = "insert语句"
# 修改操作 sql = "update语句"
# 删除操作 sql = "delete语句"
try:
cursor.execute(sql)
# 手动提交事务
conn.commit()
except:
# 如果报错就回滚
conn.rollback()
# 获取查询结果集
row = cursor.fetchall()
print(row)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
重要的是手动提交事务,和对数据库操作失败时进行回滚的操作。