怎么用python讀取數(shù)據(jù)庫?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
成都創(chuàng)新互聯(lián)長期為上千余家客戶提供的網(wǎng)站建設(shè)服務,團隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為吳川企業(yè)提供專業(yè)的成都網(wǎng)站建設(shè)、做網(wǎng)站,吳川網(wǎng)站改版等技術(shù)服務。擁有10余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
使用python讀取MS-SQL中的數(shù)據(jù),這里使用到模板pymssql。
因為不是python自帶的模板,所以首先需要使用pip安裝,對應命令:pip install pymssql
建立main.py文件,輸入代碼如下:
import pymssql,os server="127.0.0.1" #服務器IP或服務器名稱 user="sa" #登陸數(shù)據(jù)庫所用賬號 password="password" #該賬號密碼 conn=pymssql.connect(server,user,password,database='master') cursor=conn.cursor() cursor.execute("select name from sys.databases") #向數(shù)據(jù)庫發(fā)送SQL命令 row=cursor.fetchone() while row: print row[0] row=cursor.fetchone() conn.close()
通過循環(huán)命令,逐條顯示獲取到的結(jié)果。
點擊運行,執(zhí)行該程序,能夠正常返回SQL命令的查詢結(jié)果。
下面使用SQL語言的中插入命令,將之前的代碼中操作的數(shù)據(jù)庫由"master"變?yōu)?test",cursor.execute后跟的查詢命令改為一條insert格式的插入命令:
import pymssql server="127.0.0.1" #服務器IP或服務器名稱 user="sa" #登陸數(shù)據(jù)庫所用賬號 password="password" #該賬號密碼 conn=pymssql.connect(server,user,password,database='test') cursor=conn.cursor() cursor.execute("insert into dbo.test ([NO.],Name,Address) values ('003','張三','鄭州') ")
執(zhí)行命令后,數(shù)據(jù)庫中并沒有被插入數(shù)據(jù)。這是因為在執(zhí)行update、insert和delete命令時,需要增加一條conn.commit()命令,才能夠讓數(shù)據(jù)庫執(zhí)行該語句。
import pymssql server="127.0.0.1" #服務器IP或服務器名稱 user="sa" #登陸數(shù)據(jù)庫所用賬號 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無法打開中文命名的數(shù)據(jù)庫,所以使用pymsslq和數(shù)據(jù)庫進行交互的時候,訪問的數(shù)據(jù)庫一定要是英文命名的數(shù)據(jù)庫。
使用py2exe或pyinstaller打包寫好的python程序,需要在程序開頭增加 import decimal ,導入decimal模板,否則運行會報錯。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。