使用python讀取MS-SQL數據庫

使用python讀取MS-SQL中的數據,這裏使用到模板pymssql。python

由於不是python自帶的模板,因此首先須要使用pip安裝,對應命令:pip install pymssqlsql

創建main.py文件,輸入代碼以下:數據庫

 1 import pymssql,os  2 
 3 server="127.0.0.1"  #服務器IP或服務器名稱
 4 user="sa"           #登錄數據庫所用帳號
 5 password="password" #該帳號密碼
 6 conn=pymssql.connect(server,user,password,database='master')  7 cursor=conn.cursor()  8 cursor.execute("select name from sys.databases") #向數據庫發送SQL命令
 9 row=cursor.fetchone() 10 while row: 11     print row[0] 12     row=cursor.fetchone()
13 conn.close()

經過循環命令,逐條顯示獲取到的結果。服務器

點擊運行,執行該程序,可以正常返回SQL命令的查詢結果。fetch

下面使用SQL語言的中插入命令,將以前的代碼中操做的數據庫由"master"變爲"test",cursor.execute後跟的查詢命令改成一條insert格式的插入命令:spa

1 import pymssql 2 
3 server="127.0.0.1"  #服務器IP或服務器名稱
4 user="sa"           #登錄數據庫所用帳號
5 password="password" #該帳號密碼
6 conn=pymssql.connect(server,user,password,database='test') 7 cursor=conn.cursor() 8 cursor.execute("insert into dbo.test ([NO.],Name,Address) values ('003','張三','鄭州') ")

執行命令後,數據庫中並無被插入數據。這是由於在執行update、insert和delete命令時,須要增長一條conn.commit()命令,纔可以讓數據庫執行該語句。code

 1 import pymssql  2 
 3 server="127.0.0.1"  #服務器IP或服務器名稱
 4 user="sa"           #登錄數據庫所用帳號
 5 password="password" #該帳號密碼
 6 conn=pymssql.connect(server,user,password,database='test')  7 cursor=conn.cursor()  8 cursor.execute("insert into dbo.test ([NO.],Name,Address) values ('003','張三','鄭州') ")  9 conn.commit() 10 conn.close()

特別須要注意的是,pymssql沒法打開中文命名的數據庫,因此使用pymsslq和數據庫進行交互的時候,訪問的數據庫必定要是英文命名的數據庫。server

使用py2exe或pyinstaller打包寫好的python程序,須要在程序開頭增長 import decimal ,導入decimal 模板,不然運行會報錯。blog

相關文章
相關標籤/搜索