使用python讀取MS-SQL中的數據,這裡使用到模板pymssql。
因為不是python自帶的模板,所以首先需要使用pip安裝,對應命令:pip install pymssql
建立main.py文件,輸入代碼如下:
import pymssql,os server="127.0.0.1" #服务器IP或服务器名称 user="sa" #登陆数据库所用账号 password="password" #该账号密码 conn=pymssql.connect(server,user,password,database='master') cursor=conn.cursor() cursor.execute("select name from sys.databases") #向数据库发送SQL命令 row=cursor.fetchone() while row: print row[0] row=cursor.fetchone() conn.close()
透過循環指令,逐條顯示所獲得的結果。
點選執行,執行該程序,能夠正常傳回SQL指令的查詢結果。
下面使用SQL語言的插入指令,將先前的程式碼中操作的資料庫由"master"變成"test",cursor.execute後接的查詢指令改為一條insert格式的插入指令:
import pymssql server="127.0.0.1" #服务器IP或服务器名称 user="sa" #登陆数据库所用账号 password="password" #该账号密码 conn=pymssql.connect(server,user,password,database='test') cursor=conn.cursor() cursor.execute("insert into dbo.test ([NO.],Name,Address) values ('003','张三','郑州') ")
執行指令後,資料庫中並沒有被插入資料。這是因為執行update、insert和delete指令時,需要增加一條conn.commit()指令,才能讓資料庫執行該語句。
import pymssql server="127.0.0.1" #服务器IP或服务器名称 user="sa" #登陆数据库所用账号 password="password" #该账号密码 conn=pymssql.connect(server,user,password,database='test') cursor=conn.cursor() cursor.execute("insert into dbo.test ([NO.],Name,Address) values ('003','张三','郑州') ") conn.commit() conn.close()
特別要注意的是,pymssql無法開啟中文命名的資料庫,所以使用pymsslq和資料庫互動的時候,存取的資料庫一定要是英文命名的資料庫。
使用py2exe或pyinstaller打包寫好的python程序,需要在程式開頭增加 import decimal ,導入decimal模板,否則運行會報錯。
更多Python相關技術文章,請造訪Python教學欄位學習!
以上是python怎麼讀取資料庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!