python中查询数据库用到的 fetchone()、fetchall()和fetchmany() 函数
最近在用 python 操作 mysql 数据库时,遇到了fetchone()、fetchall()和fetchmany()这三个函数,记录学习一下其用法。
·
最近在用 python 操作 mysql 数据库时,遇到了下面这三个函数,记录学习一下。
fetchone()
【函数功能】返回单个的元组,也就是一条记录(row),如果没有结果则返回 None。
【用法】
cur.execute("select host,user,password from user where user='%s'" %acc)
jilu = cur.fetchone() #此时通过 jilu[0],jilu[1],jilu[2]可以依次访问 host,user,password
fetchall()
【函数功能】返回多个元组,即返回多个记录(rows),如果没有结果则返回 ()。
【用法】
cur.execute("select * from user")
result=cur.fetchall() #获取所有数据,元组嵌套元组
fetchmany(n)
【函数功能】获取前 n 行数据。
【用法】
cur.execute("select * from user")
row_2 = cursor.fetchmany(3) #获取前三行数据,元组嵌套元组
【注】在MySQL中是NULL,而在Python中则是None。
如果select本身取的时候有多条数据时:
cursor.fetchone():将只取最上面的第一条结果,返回单个元组如(‘id’,‘title’),然后多次使用cursor.fetchone(),依次取得下一条结果,直到为空。
cursor.fetchall() :将返回所有结果,返回二维元组,如((‘id’,‘title’),(‘id’,‘title’))。
如果select本身取的时候只有一条数据时:
cursor.fetchone():将只返回一条结果,返回单个元组如(‘id’,‘title’)。
cursor.fetchall() :也将返回所有结果,返回二维元组,如((‘id’,‘title’),)。
综合起来讲,python与mysql交互时,fetchall返回二维元组(元组中含有元组),fetchone只返回一维元组。
更多推荐
已为社区贡献13条内容
所有评论(0)