PyMySQL的Cursor有哪些API?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供九原網(wǎng)站建設(shè)、九原做網(wǎng)站、九原網(wǎng)站設(shè)計(jì)、九原網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、九原企業(yè)網(wǎng)站模板建站服務(wù),十年九原做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
Cursor常用API
1、cursor.execute(query, args=None):執(zhí)行sql語(yǔ)句。
參數(shù):
query (str):sql語(yǔ)句。
args (tuple, list or dict):sql語(yǔ)句中如果有變量,或者格式化輸出,會(huì)在這里填充數(shù)據(jù)。
Returns:返回一個(gè)int值,表示sql語(yǔ)句影響到的行數(shù)。
下面演示插入數(shù)據(jù)的四種方式:
import pymysql.cursors # 連接數(shù)據(jù)庫(kù) connect = pymysql.connect( host='127.0.0.1', user='root', password='123', db='demo_temp', charset='utf8', cursorclass=pymysql.cursors.DictCursor ) with connect.cursor() as cursor: # 創(chuàng)建游標(biāo) # 第一種方式向表中插入數(shù)據(jù) sql = """ INSERT INTO users (user,passwd) VALUES ('123','123') """ cursor.execute(sql) # 第二種方式向表中插入數(shù)據(jù) sql = """ INSERT INTO users (user,passwd) VALUES (%s,%s) """ cursor.execute(sql,['456','456']) # 第三種方式向表中插入數(shù)據(jù) sql = """ INSERT INTO users (user,passwd) VALUES (%s,%s) """ cursor.execute(sql, ('789', '789')) # 第四種方式向表中插入數(shù)據(jù) sql = """ INSERT INTO users (user,passwd) VALUES (%(a)s,%(b)s) """ cursor.execute(sql, {'a':'abc','b':'123'}) # 這里的'a'和'b'要和上面VALUES中對(duì)應(yīng) connect.commit() # 插入數(shù)據(jù)后必須更新 # 查詢數(shù)據(jù) sql = """ select * from users """ cursor.execute(sql) ret = cursor.fetchall() # 提取查詢數(shù)據(jù) print(ret) connect.close() # 關(guān)閉數(shù)據(jù)庫(kù)連接
2、cursor.executemany(query, args):可以執(zhí)行多條sql語(yǔ)句。
參數(shù):
query :sql語(yǔ)句
args:可迭代對(duì)象
Returns:返回sql語(yǔ)句影響到的行數(shù)。
下面是方法實(shí)例:
import pymysql.cursors # 連接數(shù)據(jù)庫(kù) connect = pymysql.connect( host='127.0.0.1', user='root', password='123', db='demo_temp', charset='utf8', cursorclass=pymysql.cursors.DictCursor ) with connect.cursor() as cursor: # 創(chuàng)建游標(biāo) # 插入多條數(shù)據(jù) sql = """ INSERT INTO users (user,passwd) VALUES (%s,%s) """ ret_row = cursor.executemany(sql,[['a','123'],['b','234'],['c','456']]) # 在args中傳入一個(gè)可迭代對(duì)象。 connect.commit() # 插入數(shù)據(jù)后必須更新 print(f'當(dāng)前受影響了{(lán)ret_row}行') # 查詢數(shù)據(jù) sql = """ select * from users """ cursor.execute(sql) ret = cursor.fetchall() # 提取查詢數(shù)據(jù) print(ret) connect.close() # 關(guān)閉數(shù)據(jù)庫(kù)連接
3、cursor.fetchone():從查詢語(yǔ)句中獲取一條查詢結(jié)果。
4、cursor.fetchall():獲取所有查詢到的結(jié)果。
5、cursor.fetchmany(size):根據(jù)size獲取相應(yīng)的行數(shù)。
6、cursor.mogrify(query, args=None):返回執(zhí)行的sql語(yǔ)句,下面是示例:
import pymysql.cursors # 連接數(shù)據(jù)庫(kù) connect = pymysql.connect( host='127.0.0.1', user='root', password='123', db='demo_temp', charset='utf8', cursorclass=pymysql.cursors.DictCursor ) with connect.cursor() as cursor: # 創(chuàng)建游標(biāo) sql = """ select * from users """ cursor.execute(sql) ret_sql = cursor.mogrify(sql) # 返回執(zhí)行的sql語(yǔ)句 cursor.fetchmany(2) # 提取查詢數(shù)據(jù) print(ret_sql) connect.close() # 關(guān)閉數(shù)據(jù)庫(kù)連接
7、cursor.close():關(guān)閉游標(biāo),關(guān)閉游標(biāo)后,游標(biāo)內(nèi)所有數(shù)據(jù)將被清空。
關(guān)于Pymysql的Cursor有哪些API問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。