中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何調用pymssql包操作SqlServer數據庫

發布時間:2022-06-13 09:15:31 來源:億速云 閱讀:405 作者:iii 欄目:開發技術

本篇內容介紹了“python如何調用pymssql包操作SqlServer數據庫”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

pymssql包可以通過離線和在線方式安裝。離線方式的話,請在參考文獻2中下載包文件并將其復制到python目錄下的Lib\site-packages文件夾中,在線安裝的話,在命令行中運行下列命令即可安裝。

pip install pymssql

python如何調用pymssql包操作SqlServer數據庫

從目前學習的內容看,pymssql主要通過執行sql語句操作數據庫,并通過cursor獲取查詢結果。本文主要學習以下基本操作:

  • 數據庫的連接與關閉;

  • 數據查詢;

  • 數據插入。

數據庫的連接與關閉。pymssql通過調用pymssql.connect函數創建數據庫連接,并返回Connection對象。調用Connection對象的cursor函數獲取cursor對象,后續使用該對象執行sql語句并從數據庫中獲取數據。所有操作完成后調用Connection對象的close函數關閉鏈接。測試程序及運行結果如下所示。

python如何調用pymssql包操作SqlServer數據庫

import pymssql

server = 'XXX.XXX.XXX.XXX'
user = 'XXXXXXX'
password = 'XXXXXXXXXX'
db='EC'

conn = pymssql.connect(server, user, password, db)

cursor = conn.cursor()
cursor.execute('SELECT Count(*) FROM EnvironmentRecord')
print('total data amount = %d' % cursor.fetchone())

conn.close()

python如何調用pymssql包操作SqlServer數據庫

數據查詢。調用cursor對象的execute函數執行無參數或帶參數的查詢語句。如果是無參數的sql語句,直接向上面示例中的用法調用execute函數即可,如果有參數,則調用下圖中的第二個execute函數。有多種方式獲取查詢結果,cursor對象的fetchone函數獲取查詢結果中的下一行數據,fetchmany函數獲取指定數量的查詢結果,而fetchall獲取所有的查詢結果。除了調用函數,也可以通過迭代器或fetchone循環獲取所有查詢結果,從參考文獻3中找到了兩種使用示例,代碼片段如下:

python如何調用pymssql包操作SqlServer數據庫

#使用示例1
cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')
row = cursor.fetchone()
while row:
    print("ID=%d, Name=%s" % (row[0], row[1]))
    row = cursor.fetchone()
    
#使用示例2
cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')
for row in cursor:
	#獲取一條記錄中的某個屬性時,可以通過屬性名稱索引方式獲取
    print("ID=%d, Name=%s" % (row['id'], row['name']))

參照上述示例編寫的查詢測試代碼,程序及執行結果如下所示。

import pymssql

server = 'XXX.XXX.XXX.XXX'
user = 'XXXXXXX'
password = 'XXXXXXXXXX'
db='EC'

conn = pymssql.connect(server, user, password, db)

cursor = conn.cursor()
cursor.execute('SELECT * FROM EnvironmentRecord WHERE CreateTime>=%s', '2021-6-19 16:12:00')

for row in cursor:
    print('row = %r' % (row,))

conn.close()

python如何調用pymssql包操作SqlServer數據庫

數據插入。調用cursor對象的execute執行insert語句可以插入單條數據,同時調用executemany函數則可以插入多條數據,參考文獻3中給出的多條數據插入示例如下。插入語句執行后,需要調用Connection對象的commit函數,否則就不會生效,也可以配置Connection對象的autocommit,讓語句自動提交生效。

python如何調用pymssql包操作SqlServer數據庫

基于參考文獻3及上圖中的示例,測試插入單條數據和多條數據,程序及執行結果如下所示。

import pymssql

server = 'XXX.XXX.XXX.XXX'
user = 'XXXXXXX'
password = 'XXXXXXXXXX'
db='EC'

conn = pymssql.connect(server, user, password, db)

cursor = conn.cursor()

##sqlStr="INSERT INTO EnvironmentRecord(CreateTime,DHTState,Humidity,Temperature,FlameValue,MQValue)VALUES('2022-05-23 10:00:00',1,54, 22, 962, 202)"
##cursor.execute(sqlStr)

cursor.executemany(
    "INSERT INTO EnvironmentRecord(CreateTime,DHTState,Humidity,Temperature,FlameValue,MQValue)VALUES(%s,%d,%d,%d,%d,%d)",
    [('2022-05-24 10:00:00',1,54, 22, 962, 202),
     ('2022-05-24 10:10:00',1,54, 22, 962, 202),
     ('2022-05-24 10:20:00',1,54, 22, 962, 202)])
conn.commit()

conn.close()

python如何調用pymssql包操作SqlServer數據庫

“python如何調用pymssql包操作SqlServer數據庫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁阳县| 庆安县| 区。| 涿州市| 宜州市| 防城港市| 高陵县| 贺兰县| 新密市| 介休市| 灵川县| 鄂尔多斯市| 林芝县| 宁化县| 华坪县| 永丰县| 大理市| 天水市| 于都县| 周至县| 阿图什市| 屯留县| 白山市| 伊春市| 五河县| 梨树县| 同心县| 思茅市| 安庆市| 普洱| 儋州市| 哈尔滨市| 凤山市| 社旗县| 屏边| 仁布县| 通化县| 四会市| 康乐县| 鄢陵县| 仁怀市|