您好,登錄后才能下訂單哦!
小編給大家分享一下如何使用python連接sql server,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
先利用pip安裝pymssql庫
pip install pymssql
具體連接、測試代碼:
# server默認為127.0.0.1,如果打開了TCP動態端口的需要加上端口號,如'127.0.0.1:1433' # user默認為sa # password為自己設置的密碼 # database為數據庫名字 server = '127.0.0.1' user = "sa" password = "123456" database = "pubs" conn = pymssql.connect(server, user, password, database) # 可簡化為conn = pymssql.connect(host='localhost', user='sa', password='123456', database='pubs') cursor = conn.cursor() cursor.execute('SELECT * FROM titles') print( cursor.fetchall() ) # 如果用pandas讀取數據庫 import pymssql import pandas as pd conn = pymssql.connect('IP地址','賬號','密碼','數據庫') sql_1 = "SELECT Id,creat_time from 表名" #利用pandas直接獲取數據" data = pd.read_sql(sql_1, conn) conn.close() print(data)
封裝好的版本:
#coding=utf-8 # sqlserver的連接 import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): """ 得到連接信息 返回: conn.cursor() """ if not self.db: raise(NameError,"沒有設置數據庫信息") self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8") cur = self.conn.cursor() if not cur: raise(NameError,"連接數據庫失敗") else: return cur def ExecQuery(self,sql): """ 執行查詢語句 返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段 """ cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() #查詢完畢后必須關閉連接 self.conn.close() return resList def ExecNonQuery(self,sql): """ 執行非查詢語句 調用示例: cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() """ cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close() def main(): # host默認為127.0.0.1,如果打開了TCP動態端口的需要加上端口號,如'127.0.0.1:1433' # user默認為sa # pwd為自己設置的密碼 # db為數據庫名字 ms = MSSQL(host='127.0.0.1',user="sa",pwd="123456",db="pubs") resList = ms.ExecQuery("SELECT * FROM titles") print(resList) if __name__ == '__main__': main()
如果出現pymssql.OperationalError: (20009, b'DB-Lib error message 20009, severity 9:\nUnable to connect: Adaptive Server is unavailable or does not exist (SZS\SQLEXPRESS)\n')類似保錯,有以下幾個可能的原因:
1.數據庫名字寫錯
2.tcp/ip協議未開啟,這個位于(右鍵此電腦,點擊管理,點擊服務與應用程序,點擊sql配置管理器,點擊sql server網絡配置,點擊mssqlserver的協議,右鍵tcp/ip,點擊啟用,重啟電腦后才會生效)
3.動態端口錯誤,默認是沒有打開動態端口的,如果打開了就需要寫端口號,在2中的tcp/ip協議中查看動態端口號,點擊tcp/ip協議,點擊ip地址,然后翻到最下面,找到ipall 里面的動態端口號,也可以將動態端口號刪掉,然后不寫
4.sa用戶登錄未啟用
打開sql server management studio,點擊安全性,點擊登錄名,如果sa項出現紅色的×則說明sa用戶登錄未啟用,右鍵sa點擊屬性,點擊狀態即可啟用。
python的五大特點:1.簡單易學,開發程序時,專注的是解決問題,而不是搞明白語言本身。2.面向對象,與其他主要的語言如C++和Java相比, Python以一種非常強大又簡單的方式實現面向對象編程。3.可移植性,Python程序無需修改就可以在各種平臺上運行。4.解釋性,Python語言寫的程序不需要編譯成二進制代碼,可以直接從源代碼運行程序。5.開源,Python是 FLOSS(自由/開放源碼軟件)之一。
以上是“如何使用python連接sql server”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。