【python】【django】cursor.fetchall()的结果是元组
今天做测试,用django.db 的connection来执行一个非常简单的查询语句:
sql_str = 'select col_1 from table_1 where criteria = 1'
cursor = connection.cursor()
cursor.execute(sql_str)
fetchall = cursor.fetchall()
fetchall的值是这样的:
(('101',), ('102',), ('103',),('104',))
上网搜索了一下资料:
首先fetchone()函数它的返回值是单个的元组,也就是一行记录,如果没有结果,那就会返回null
其次是fetchall()函数,它的返回值是多个元组,即返回多个行记录,如果没有结果,返回的是()
举个例子:cursor是我们连接数据库的实例
fetchone()的使用:
cursor.execute(select username,password,nickname from user where id='%s' %(input)
result=cursor.fetchone(); 此时我们可以通过result[0],result[1],result[2]得到username,password,nickname
fetchall()的使用:
cursor.execute(select * from user)
result=cursor.fetchall();此时select得到的可能是多行记录,那么我们通过fetchall得到的就是多行记录,是一个二维元组
((username1,password1,nickname1),(username2,password2,nickname2),(username3,password3,nickname))
---------------------
原文:https://blog.csdn.net/qq_40625030/article/details/79722996
这下明白惹。
下一篇: webpack学习5-手写loader