最近在用python操作mysql數據庫時,碰到了下面這兩個函數,標記一下:
fetchone() :
返回單個的元組,也就是一條記錄(row),如果沒有結果 則返回 None
fetchall() :
返回多個元組,即返回多個記錄(rows),如果沒有結果 則返回 ()
獲取前n行數據
row_2 =
cursor
.fetchmany(3) 獲取前三行數據,元組包含元組
需要注明:在MySQL中是NULL,而在Python中則是None
用法如下所示:
fetchone()用法:
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()用法:
cur.execute("select * from user")
如果select本身取的時候有多條數據時:
cursor.fetchone():將只取最上面的第一條結果,返回單個元組如('id','title'),然后多次使用cursor.fetchone(),依次取得下一條結果,直到為空。
cursor.fetchall() :將返回所有結果,返回二維元組,如(('id','title'),('id','title')),
如果select本身取的時候只有一條數據時:
cursor.fetchone():將只返回一條結果,返回單個元組如('id','title')。
cursor.fetchall() :也將返回所有結果,返回二維元組,如(('id','title'),),
備注:其中的id和title為具體的內容
python在mysql在使用fetchall或者是fetchone時,綜合起來講,fetchall返回二維元組(元組中含有元組),fetchone只返回一維元組。