1. 程式人生 > >Python與數據庫[1] -> 數據庫接口/DB-API -> SQL Server 適配器

Python與數據庫[1] -> 數據庫接口/DB-API -> SQL Server 適配器

b- custom con 執行sql tin == ref blog 適配

SQL_Server適配器 / SQL_Server Adapter


1 環境配置 / Environment Configuration

安裝SQL_Server的Python適配器包

pip install pymssql  

Note: 此處采用遠程數據庫服務器,因此未安裝本地SQL_Server

2 SQL_Server實例 / SQL_Server Examples

由於遠程數據庫賬號僅具有讀取權限,因此此處示例基本以讀取為主。

查看數據庫 / Show Database

利用適配器的基本函數登錄遠程數據庫服務器,並查看服務器中數據庫名稱,表名稱等信息。

 1 import
pymssql as ms 2 def execute(cur, sql, *args): 3 cur.execute(sql, *args) 4 re = cur.fetchall() 5 return re 6 7 def show(): 8 cnx = ms.connect(host=‘host, user=‘user, password=password, database=‘db, charset=UTF-8) 9 10 cur = cnx.cursor() 11 12 print(
{:-^30}.format(DATABASES)) 13 # Show the database in sys 14 re = execute(cur, "SELECT * FROM sys.databases") 15 16 # Show custom databases 17 # re = execute(cur, "SELECT * FROM sys.databases WHERE name NOT IN (‘master‘, ‘tempdb‘, ‘model‘, ‘msdb‘)") 18 for db in re: 19 try
: 20 # Select databases 21 cur.execute("USE %s" % db[0]) 22 except: 23 continue 24 # Show tables 25 re = execute(cur, "SELECT * FROM information_schema.TABLES") 26 27 for i in re: 28 print(i) 29 30 cur.execute(USE ITP) 31 print({:-^30}.format(TABLES)) 32 re = execute(cur, "SELECT * FROM information_schema.TABLES") 33 for tb in re: 34 print(\n{:-^30}.format(TABLE CONTENTS)) 35 print(tb) 36 print({:-^30}.format(%s % tb[2])) 37 re = execute(cur, "SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME=‘%s‘" % tb[2]) 38 for cl in re: 39 print(cl) 40 41 def foo(gen): 42 [print(x, end=\n\n) for x in gen] 43 44 if __name__==__main__: 45 show()

第 2-4 行,首先定義一個執行函數,利用傳入的遊標執行SQL語句

第 7-39 行,定義一個顯示函數,其中sys.databases中存放了所有數據庫的名稱信息,show函數會將所有database的信息顯示出來,並查看db表的信息

此處的數據庫信息均已隱藏,可以看出,無論是SQL_Server還是MySQL,利用適配器進行操作時,基本原理都是相同的,只有部分SQL語句不同。

相關閱讀


1. 使用 Python 建立 MySQL 適配器

2. DB-API 通用標準

Python與數據庫[1] -> 數據庫接口/DB-API -> SQL Server 適配器