PyMySQL的安装和使用,获取游标对象完成对sql语句的执行

Python程序操作MySQL数据库
安装pymysql第三方包:

sudo pip3 install pymysql

说明:

  • 安装命令使用 sudo pip3 install 第三方包名 卸载命令使用 sudo pip3 uninstall 第三方包

  • 可以使用: pip3 show pymysql 命令查看第三方 包的信息 pip3 list
    查看使用

  • pip命令安装的第三方包列表

pymysql的使用:

  • 导入 pymysql 包

import pymysql

创建

  • 连接对象

调用pymysql模块中的connect()函数来创建连接对象,代码如下:

conn=connect(参数列表)

  • 参数host:连接的mysql主机,如果本机是’localhost’
  • 参数port:连接的mysql主机的端⼝,默认是3306
  • 参数user:连接的⽤⼾名
  • 参数password:连接的密码
  • 参数database:数据库的名称
  • 参数charset:通信采⽤的编码⽅式,推荐使⽤utf8

连接对象操作说明:

  1. 关闭连接 conn.close()
  2. 提交数据 conn.commit()
  3. 撤销数据 conn.rollback()
  • 获取游标对象

获取游标对象的目标就是要执行sql语句,完成对数据库的增、删、改、查操作。代码如下:

调⽤连接对象的cursor()⽅法获取游标对象
cur =conn.cursor()

游标操作说明:

  • 使用游标执行SQL语句: execute(operation [parameters ]) 执行SQL语句,返回受影响的行数,主
    要用于执行insert、update、delete、select等语句
  • 获取查询结果集中的一条数据:cur.fetchone()返回一个元组, 如 (1,‘张三’)
  • 获取查询结果集中的所有数据: cur.fetchall()返回一个元组,如((1,‘张三’),(2,‘李四’))
  • 关闭游标: cur.close(),表示和数据库操作完成
  • pymysql完成数据的查询操作
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='mysq
l',database='python', charset='utf8')
# 获取游标对象
cursor = conn.cursor()
# 查询 SQL 语句
sql = "select * from students;"
# 执⾏ SQL 语句 返回值就是 SQL 语句在执⾏过程中影响的⾏数
row_count = cursor.execute(sql)
print("SQL 语句执⾏影响的⾏数%d" % row_count)
# 取出结果集中⼀⾏数据, 例如:(1, '张三')
# print(cursor.fetchone())
# 取出结果集中的所有数据, 例如:((1, '张三'), (2, '李四'), (3, '王五'))
for line in cursor.fetchall():
print(line)
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

  • pymysql完成对数据的增删改
import pymysql
# 创建连接对象
conn = pymysql.connect(host='localhost', port=3306, user='root', password='mysq
l',database='python', charset='utf8')
# 获取游标对象
cursor = conn.cursor()
try:
# 添加 SQL 语句
# sql = "insert into students(name) values('刘璐'), ('王美丽');"
# 删除 SQ L语句
# sql = "delete from students where id = 5;"
# 修改 SQL 语句
sql = "update students set name = '王铁蛋' where id = 6;"
# 执⾏ SQL 语句
row_count = cursor.execute(sql)
print("SQL 语句执⾏影响的⾏数%d" % row_count)
# 提交数据到数据库
conn.commit()
except Exception as e:
# 回滚数据, 即撤销刚刚的SQL语句操作
conn.rollback()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()

说明:

  • conn.commit() 表示将修改操作提交到数据库
  • conn.rollback() 表示回滚数据
发布了58 篇原创文章 · 获赞 14 · 访问量 9382

猜你喜欢

转载自blog.csdn.net/lh_hebine/article/details/98972870
今日推荐