您好,登錄后才能下訂單哦!
怎么用python讀取數據庫?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
使用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模板,否則運行會報錯。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。