Python Python-MySQLdb中的DictCursor使用方法簡介


Python-MySQLdb中的DictCursor使用方法簡介

by:授客 QQ1033553122

 
 
DictCursor的這個功能是繼承於CursorDictRowsMixIn,這個MixIn提供了3個額外的方法: fetchoneDictfetchmanyDictfetchallDict
 
在默認情況下cursor方法返回的是BaseCursor類型對象,BaseCursor類型對象在執行查詢后每條記錄的結果以列表(list)表示。如果要返回字典(dict)表示的記錄,就要設置cursorclass參數為MySQLdb.cursors.DictCursor類。
cur = conn.cursor(cursorclass=MySQLdb.cursors.DictCursor)
 
這個參數也可在調用connect方法建立連接時設置,如下:
>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc', pass
wd='test1234', db='1dcq', cursorclass=MySQLdb.cursors.DictCursor)
>>>conn.close()
 
例子:
>>> import MySQLdb
>>> conn = MySQLdb.connect(host='192.168.1.103', port=3306, user='testacc', passwd='test1234', db='1dcq')
>>> cursor = conn.cursor()
>>> cursor.execute('SELECT * FROM pagesobject LIMIT 0, 1')
1L
 
>>> cursor.fetchone()
(1L, 0L, '???', 'true', None, 0)
>>> cursor.close()
 
對比實驗如下:
>>> cursor = conn.cursor(MySQLdb.cursors.DictCursor)
>>> cursor.execute('SELECT * FROM pagesobject LIMIT 0, 1')
1L
>>> cursor.fetchone() # 等價fetchoneDict()
{'PageDesc': None, 'P_Id': 0L, 'isParent': 0, 'Html_open': 'true', 'PageName': '???', 'Id': 1L}
>>> cursor.close()
>>>conn.close()
 
      

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM