fetchall与fetchone
2019-06-26 本文已影响0人
HHHHUA
Python查询Mysql使用 fetchone() 方法获取单条数据, 使用fetchall() 方法获取多条数据。
fetchone(): 该方法获取下一个查询结果集。结果集是一个对象
fetchall():接收全部的返回结果行
rowcount: 这是一个只读属性,并返回执行execute()方法后影响的行数。
fetchone() :
返回单个的元组,也就是一条记录(row),如果没有结果 则返回 None
fetchall() :
返回多个元组,即返回多个记录(rows),如果没有结果 则返回 ()
需要注明:在MySQL中是NULL,而在Python中则是None
用法如下所示:
fetchone()用法:
cur.execute("select username password from user where user=‘aaa‘")
user= cur.fetchone() # 此时 通过 user[0],user[1]可以依次访问username, password
# fetchall()用法:
cur.execute("select * from user")
# 如果select本身取的时候有多条数据时:
cur.fetchone() # 将只取最上面的第一条结果,返回单个元组如(‘id‘,‘title‘),然后多次使用cur.fetchone(),依次取得下一条结果,直到为空。
cur.fetchall() # 将返回所有结果,返回二维元组,如((‘id‘,‘title‘),(‘id‘,‘title‘)),
# 如果select本身取的时候只有一条数据时:
cursor.fetchone() # 将只返回一条结果,返回单个元组如(‘id‘,‘title‘)。
cursor.fetchall() # 也将返回所有结果,返回二维元组,如((‘id‘,‘title‘),),
备注:其中的id和title为具体的内容
python在mysql在使用fetchall或者是fetchone时,综合起来讲,fetchall返回二维元组(元组中含有元组),fetchone只返回一维元组。