欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pymysql之cur.fetchall() 和cur.fetchone()用法詳解

 更新時間:2020年05月15日 12:08:48   作者:挲love的成長積累  
這篇文章主要介紹了pymysql之cur.fetchall() 和cur.fetchone()用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

我就廢話不多說了,大家還是直接看代碼吧!

import pymysql,hashlib
結(jié)果:單條結(jié)果 {'id': 1, 'name': '打車', 'phone': '132453'}

sql = 'select * from zxj'
def op_mysql(sql,many=True):
 db_info = {'user': 'jxz', 'password': '123456',
  'host': '118*******', 'db': 'jxz', 'port': 3306, 'charset': 'utf8',
  'autocommit': True}
 conn = pymysql.connect(**db_info) # 建立連接
 cur = conn.cursor(pymysql.cursors.DictCursor) # 游標
 cur.execute(sql) # 執(zhí)行sql語句,insert 、update 、delete
 if many:
 result = cur.fetchall()
 print('多條',result)
 else:
 result = cur.fetchone() # {''}
 print('dantiao',result)
 cur.close()
 conn.close()
 return result
op_mysql(sql,many=False) # 傳入sql, 默認為true

=================================
md5加鹽2
def md5(s,salt=''):
 new_s = str(s) + salt
 m = hashlib.md5(new_s.encode())
 return m.hexdigest()```

補充知識:python pymssql使用時,使用fetchone獲取的值怎么在while里操作多條數(shù)據(jù)

項目描述:

想把status狀態(tài)為1的數(shù)據(jù)查出來然后再通過while 遍歷update 數(shù)據(jù),為了清楚測試時候的數(shù)據(jù)。

剛開始的代碼是這樣的。

#coding:utf-8
import pymssql
def connect():
connect=pymssql.connect((‘x.x.x.x'),‘x',‘x',‘x')

cursor = connect.cursor() # 創(chuàng)建游標
sql001='select *from xxxxx where xxxxx=273and Status=1 order by sysno desc'#查詢語句
cursor.execute(sql001)
row=cursor.fetchone()#讀取查詢結(jié)果
print(row)
if row==None:
 print("沒有查到數(shù)據(jù)")
else:

 while row:
 print("sysno=%s" % (row[0]))
 cursor.execute("update xxxxx set Status=-1 where SysNo=%d", row[0]) # 執(zhí)行語句\
 connect.commit()
 print(row)
 #cursor.execute(sql001)
 row=cursor.fetchone()
 #print(row)

connect()

報錯信息:

File “D:/JiCaiZhuanTi/Case/test.py”, line 22, in connect
row=cursor.fetchone()
File “src\pymssql.pyx”, line 507, in pymssql.Cursor.fetchone
pymssql.OperationalError: Statement not executed or executed statement has no resultset

自己查了不少文章,以前沒有對這塊有所涉及,因為本人是菜鳥,用到哪就看到哪。也仔細看了fetchone() 、fetchall() 還有pymssql的對數(shù)據(jù)庫的基本炒作??戳撕镁迷谧詈箪`光一閃理解錯誤在哪里了。

錯誤出在while里的connect.commit()后直接又row=cursor.fetchone()而while里是(返回單個的元組,也就是一條記錄(row),如果沒有結(jié)果 則返回 None)因為我上一個查詢是update語句,更新sql語句不會返回resultset,所以會報錯。

然后我就這樣改了一下,:

while row:
print(“sysno=%s” % (row[0]))
cursor.execute(“update xxxxx set Status=-1 where SysNo=%d”, row[0]) # 執(zhí)行語句
connect.commit()
print(row)
cursor.execute(sql001)
row=cursor.fetchone()

在獲取sql執(zhí)行獲取結(jié)果的 row=cursor.fetchone()我再去調(diào)用一次查詢再次獲取想要的數(shù)據(jù)。

我覺得應(yīng)該有更好的辦法,就是再第一次獲取查詢結(jié)果把所需要的sysno都拿出來,然后再while,這樣可以減少對數(shù)據(jù)庫的調(diào)用。

目前還沒有寫出來代碼,不知道思路對不對,大家可以留言討論下。

以上這篇pymysql之cur.fetchall() 和cur.fetchone()用法詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python用sndhdr模塊識別音頻格式詳解

    Python用sndhdr模塊識別音頻格式詳解

    這篇文章主要介紹了Python用sndhdr模塊識別音頻格式詳解,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python編程中的文件操作攻略

    Python編程中的文件操作攻略

    這篇文章主要介紹了Python編程中的文件操作攻略,包括打開關(guān)閉重命名刪除等相關(guān)函數(shù)的使用,需要的朋友可以參考下
    2015-10-10
  • python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn)

    python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn)

    本文主要介紹了python數(shù)據(jù)處理之Pandas類型轉(zhuǎn)換的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • 關(guān)于pycharm卡死原因分析

    關(guān)于pycharm卡死原因分析

    這篇文章主要介紹了關(guān)于pycharm卡死原因分析,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • python實現(xiàn)簡單的井字棋

    python實現(xiàn)簡單的井字棋

    這篇文章主要為大家詳細介紹了python實現(xiàn)簡單的井字棋,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • python 堆和優(yōu)先隊列的使用詳解

    python 堆和優(yōu)先隊列的使用詳解

    這篇文章主要介紹了python 堆和優(yōu)先隊列的使用詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • python中in和is的區(qū)別點總結(jié)

    python中in和is的區(qū)別點總結(jié)

    在本篇文章里小編給大家整理的是一篇關(guān)于python中in和is的區(qū)別點總結(jié),有興趣的朋友可以跟著學(xué)習(xí)下。
    2021-05-05
  • python字典如何獲取最大和最小value對應(yīng)的key

    python字典如何獲取最大和最小value對應(yīng)的key

    這篇文章主要介紹了python字典如何獲取最大和最小value對應(yīng)的key問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • python之如何查找多層嵌套字典的值

    python之如何查找多層嵌套字典的值

    這篇文章主要介紹了python之如何查找多層嵌套字典的值問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • Python?切片為什么不會索引越界?

    Python?切片為什么不會索引越界?

    這篇文章主要介紹了Python?切片為什么不會索引越界?切片(slice)是?Python?中一種很有特色的特性,在正式開始之前,我們先來從關(guān)于切片的相關(guān)知識開始介紹,感興趣的小伙伴一起參考參考呀</P><P>
    2021-12-12

最新評論