Python连接SQL Server数据库 - pymssql使用基础
生活随笔
收集整理的這篇文章主要介紹了
Python连接SQL Server数据库 - pymssql使用基础
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
連接數(shù)據(jù)庫
pymssql連接數(shù)據(jù)庫的方式和使用sqlite的方式基本相同:
- 使用connect創(chuàng)建連接對象
- connect.cursor創(chuàng)建游標對象,SQL語句的執(zhí)行基本都在游標上進行
- cursor.executeXXX方法執(zhí)行SQL語句,cursor.fetchXXX獲取查詢結果等
- 調用close方法關閉游標cursor和數(shù)據(jù)庫連接
注意: 例子中查詢操作的參數(shù)使用的%s而不是'%s',若參數(shù)值是字符串,在執(zhí)行語句時會自動添加單引號
游標使用注意事項
一個連接一次只能有一個游標的查詢處于活躍狀態(tài),如下:
c1 = conn.cursor() c1.execute('SELECT * FROM persons')c2 = conn.cursor() c2.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')print( "all persons" ) print( c1.fetchall() ) # 顯示出的是c2游標查詢出來的結果print( "John Doe" ) print( c2.fetchall() ) # 不會有任何結果為了避免上述的問題可以使用以下兩種方式:
- 創(chuàng)建多個連接來保證多個查詢可以并行執(zhí)行在不同連接的游標上
- 使用fetchall方法獲取到游標查詢結果之后再執(zhí)行下一個查詢, 如下:
游標返回行為字典變量
上述例子中游標獲取的查詢結果的每一行為元組類型,
可以通過在創(chuàng)建游標時指定as_dict參數(shù)來使游標返回字典變量,
字典中的鍵為數(shù)據(jù)表的列名
使用with語句(上下文管理器)
可以通過使用with語句來省去顯示的調用close方法關閉連接和游標
with pymssql.connect(server, user, password, database) as conn:with conn.cursor(as_dict=True) as cursor:cursor.execute('SELECT * FROM persons WHERE salesrep=%s', 'John Doe')for row in cursor:print("ID=%d, Name=%s" % (row['id'], row['name']))調用存儲過程
pymssql 2.0.0以上的版本可以通過cursor.callproc方法來調用存儲過程
with pymssql.connect(server, user, password, database) as conn:with conn.cursor(as_dict=True) as cursor:# 創(chuàng)建存儲過程cursor.execute("""CREATE PROCEDURE FindPerson@name VARCHAR(100)AS BEGINSELECT * FROM persons WHERE name = @nameEND""")# 調用存儲過程cursor.callproc('FindPerson', ('Jane Doe',))for row in cursor:print("ID=%d, Name=%s" % (row['id'], row['name']))參考連接: http://pymssql.org/en/stable/pymssql_examples.html
轉載于:https://www.cnblogs.com/baiyangcao/p/pymssql_basic.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Python连接SQL Server数据库 - pymssql使用基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 三者险的赔偿内容有哪些
- 下一篇: python socket编程详细介绍