1.cur = coon.cursor(cursor=pymysql.cursors.dictcursor)的用法
建立游標,指定cursor型別返回的是字典,如果不指定型別,返回的是元組型別資料
import flask,pymysql,hashlib,json,redisdef mydb(sql,port=3306,charset='
utf8'):
host,user,passwd,db='
118.24.3.40
','jxz
','123456
','jxz
'coon = pymysql.connect(user=user,host=host,port=port,passwd=passwd,db=db,charset=charset)
cur = coon.cursor(cursor=pymysql.cursors.dictcursor)#建立游標,指定cursor型別返回的是字典
cur.execute(sql)
if sql.strip()[:6].upper()=='
select':
res =cur.fetchall()
else
: coon.commit()
res='ok'
cur.close()
coon.close()
return
resprint(mydb(
'select * from users_info
' ))
指定游標的輸出型別為字典,輸出如下:[, , ]
未指定游標輸出型別,輸出如下:(('
1', '
zhaoxian
', '
123456
'), ('
2', '
xiaohei
', '
e10adc3949ba59abbe56e057f20f883e
'), ('
3', '
lily
', '
ab56b4d92b40713acc5af89985d4b786
'))
2.cur.fetchone()與cur.fetchall(),cur.fetchmany()的區別
cur.fetchone()#獲取到這個sql執行的一條結果,它返回就只是一條資料cur.fetchall()#獲取到這個sql執行的全部結果,它把資料庫表裡面的每一行資料放到乙個list裡面cur.fetchmany(5)#能傳入乙個數,指定返回多少條資料,如上就是指定返回5條資料
如果sql語句執行的結果是多條資料的時候,那就用fetchall()如果你能確定sql執行的結果就只有一條,那麼就用fetchone()
3.cur.description可以動態獲取到資料庫中表的字段
import flask,pymysql,hashlib,json,redisdef mydb(sql,port=3306,charset='
utf8'):
host,user,passwd,db='
118.24.3.40
','jxz
','123456
','jxz
'coon = pymysql.connect(user=user,host=host,port=port,passwd=passwd,db=db,charset=charset)
cur =coon.cursor()#建立游標,指定cursor型別返回的是字典
cur.execute(sql)
if sql.strip()[:6].upper()=='
select':
fields =#print(cur.description)輸出為:(('id', 253, none, 40, 40, 0, true), ('username', 253, none, 40, 40, 0, true), ('passwd', 253, none, 40, 40, 0, true))
for field in
cur.description: #迴圈cur.descriptin中的元素
0]) #取cur.descriptin中的每個元素是乙個元組,然後取第乙個元素新增到fields列表中
print(fields)
else
: coon.commit()
cur.close()
coon.close()
mydb(
'select * from users_info
' )
fields =for field in
cur.description: #迴圈cur.descriptin中的元素0])
這三行**可以用列表生成式代替,使**更簡潔更有逼格,作用效果是完全一樣的
fields = [field[0] for field in fields]
Python學習筆記(十)
mylab 專案實戰 1 在templates中乙個index.html我需要引入當前資料夾中的另乙個網頁,我直接在index的 中引入 html無效 最後,我在這個專案的主目錄下的urls中進行設定,可行 2 在呼叫網頁的時候,進行views設定,就已經把處理函式給選定了 直接在views,用re...
python學習筆記十
字典遍歷 集合函式 copy僅拷貝物件本身,而不對中的子物件進行拷貝,故對子物件進行修改也會隨著修改。dict1 dict2 dict1 dict3 dict1.copy dict1 user root dict1 num remove 1 print dict1 print dict2 print...
Python學習筆記(十) Python文件
以mark lutz著的 python學習手冊 為教程,每天花1個小時左右時間學習,爭取兩周完成。寫在前面的話 2013 7 20 20 00 學習筆記 1,python以 開始 注釋。python也支援可自動附加在物件上的文件,而且可以在執行時檢視。這類注釋是寫成字串,放在模組檔案 函式 類語句的...