Python3学习笔记38-pymysql模块

不问归期 提交于 2019-12-23 13:23:08
import pymysql

# 连接数据库
db = pymysql.connect(
    host='数据库地址',
    port=端口号 需要数字,
    user='用户名',
    password='密码',
    database='数据库名',
    charset='utf8'
)

# 创建执行sql的光标对象,返回结果已元祖显示
# cursor = db.cursor()
# 返回结果已 字段名:值 字典形式显示
cursor = db.cursor(cursor=pymysql.cursors.DictCursor)

sql = ""

# 执行sql
cursor.execute(sql)
# 关闭光标
cursor.close()
# 关闭数据库连接
db.close()

 

查询

data = cursor.execute(sql)
# 查询一条数据
data.fetchone()
# 查询多条数据,条数根据传参
data.fetchmany(3)
# 查询全部数据
data.fetchall()

在执行查询sql,可以使用变量接收查询结果

在获取查询结果时,需要注意指针的位置。每次获取查询结果都是从指针后开始的。指正的起始位置为0,所以会存在第一次查询得到。第二次查询不到的情况。

举个例子,假设上面查询sql语句中,查询结果返回的有10条,在执行fetchone()时,查询结果返回第一条,这时指针就在第一条之后。再执行fetchmany(3)时,返回的查询结果是第二条到第四条。最后执行fetchall()返回剩下的6条数据。

可以三个查询一起执行,然后再把依次注释两条执行。对比下结果。会更好理解。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!