一、 安装PyMySQL
方法一
pip install PyMySQL
方法二
pip install PyMySQL -i 镜像地址
查验
pip list pip show pymysql
二、 PyMySql 操作步骤
导包
import pymysql
创建连接
conn = pymysql.connect(host="", port=0, user="", password="", database="", charset="") host:数据库主机ip地址 port:数据库使用的端口号 - int类型。 不能写成 string 类型,否则会报错! user:数据库用户名 password:数据库密码 database:数据名 charset:字符集。 常用取值:utf8 conn:成功建立好的 数据库连接对象
创建游标
cursor = conn.cursor() 查看当前游标号 cursor.rownumber 游标属性 rownumber:设置游标的位置。常常用来归零。cursor.rownumber = 0 cursor 游标简介 * 游标,负责提取结果集中的数据 * 新创建的游标,指向结果集 0 条记录 * 游标提取数据的方式:提取游标当前指向位置的 下一条记录 * 每提取一条记录成功,游标会自动向下游动
执行sql语句
cursor.execute("sql语句") 查询语句:select--不修改数据库,会返回结果集 * 从结果集中,提取 想要的数据 * 提取的方法 * cursor.fetchone(): 从结果集中,提取一条记录 * cursor.fetchmany(size): 从结果集中,提取 size 条记录 * cursor.fetchall():提取结果集的 全部数据 增删改语句 insert、update、delete —— 没有 结果集返回,会修改数据库 执行成功:提交事务。conn.commit() 执行失败:回滚事务。conn.rollback()
关闭游标
cursor.close()
关闭连接
conn.close()
三、案例
查询数据库,获取 MySQL服务器 版本信息
# 1. 导包
import pymysql
# 2. 创建连接
conn = pymysql.connect(host="主机ip地址", port=8888, user="student",
password="123456", database="数据库名", charset="utf8")
# 3. 创建游标
cursor = conn.cursor()
# 4. 执行 sql 语句
cursor.execute("select version();")
# 5. 提取结果集,打印查看
result = cursor.fetchone()
# print("mysql的版本为:", result)
print("mysql的版本为:", result[0])
# 6. 关闭游标
cursor.close()
# 7. 关闭连接
conn.close()
四、异常捕获查询数据
# 1. 导包
import pymysql
# 声明变量,初值为 None。 将 conn、cursor变量的作用域,放大
conn = None
cursor = None
try:
# 2. 创建连接
conn = pymysql.connect(
host="主机ip地址",
port=8888,
user="student",
password="123456",
database="数据库名",
charset="utf8"
)
# 3. 创建游标
cursor = conn.cursor()
# 4. 执行 查询 sql 语句
cursor.execute("select * abc from 表名;")
# 5. 提取结果集。打印查看
# 查询t_book表,获取 第一条 数据
res = cursor.fetchone()
print("第一条:", res)
cursor.rownumber = 0 # 设置 游标归0
# 查询t_book表,获取 全部 数据
res2 = cursor.fetchall()
print("全部:", res2)
cursor.rownumber = 2 # 设置游标 指向 第二条记录
# 查询t_book表,获取 第3条和第4条 数据
res3 = cursor.fetchmany(2)
print("第3条和第4条:", res3)
except Exception as e:
# 如果上述代码有错误出现,执行的代码
print("执行查询sql失败:", str(e))
finally:
# 6. 关闭游标
cursor.close()
# 7. 关闭连接
conn.close()
五、异常捕获增删改数据
**************************修改***************************
# 1. 导包
import pymysql
conn = None
cursor = None
try:
# 2. 创建连接
conn = pymysql.connect(
host="主机ip地址",
port=8888,
user="student",
password="123456",
database="数据库名",
charset="utf8"
)
# 3. 创建游标
cursor = conn.cursor()
# 4. 执行 update sql 语句。
cursor.execute("update 表名 set 字段=字段值; ")
# 5. 管理事务,提交 commit
conn.commit()
print("更新完成~~~")
except Exception as err:
# 回滚事务
conn.rollback()
print("更新数据库失败:", str(err))
finally:
# 6. 关闭游标
cursor.close()
# 7. 关闭连接
conn.close()
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。