可以直接用以下命令安裝pymssql。
pip install pymssql
pip install sqlalchemy
這裡也分為兩種情況,一種是直接使用windows驗證登陸,另一種是進行SQL Sever身份驗證即賬號密碼登陸。這裡可以進行設置,可以同時使用兩種登錄方式。
如果要設置兩種方式同時登陸,我們首先用windows驗證登錄以後
點擊安全性,選擇如圖所示的選項以後點擊確定,關閉該窗口。
然後點擊安全性,在登錄名中右鍵點擊sa,再點擊菜單欄的最下方的屬性。
首先點擊常規,設置密碼,然後再點擊狀態,啟用登陸。點擊確定關閉。
最後我們需要重啟SQL Sever。在開始菜單欄找到SQL Sever配置管理器。找到SQL Sever網絡配置。在MSSQL Sever協議中啟用“Named Pipes”和“TCP/IP”。然後在SQL Sever服務中,右鍵點擊SQL Sever(MSSQL Sever),然後點擊重新啟動。這樣就設置完成了。
import pymssql
import pandas as pd
""" 如果使用sql sever身份驗證的話用下面的代碼 conn = pymssql.connect(host, user, password, "連接默認數據庫名稱") """
#這裡直接用windows驗證登陸,無需賬號密碼,database為需要連接的數據庫名稱
conn = pymssql.connect(host="",database="db_databsae", charset="utf8")
#使用pandas庫的read_sql方法,輸入select語句即可
df = pd.read_sql("select * from score",con=conn)
print(df)
conn.close()
這裡的host參數是服務器名稱,我們一般連接到本地服務器為localhost,就是ip地址加端口號。可以按照如下方式找到。右鍵ip協議然後點擊屬性,這裡host即為 ip地址:端口號 。比如 127.0.0.1:1533 。127.0.0.1為ip,1533為端口號。這樣我們就可以成功獲取到數據了。
有了上一部分的設置,這裡直接上代碼,都是類似的。
import sqlalchemy as sqla
#windows驗證登陸
#這裡只需把host換成自己的host和databsae換成自己的數據庫名稱
db = sqla.create_engine("mssql+pymssql://@host/databsae?charset=utf8")
pd.read_sql("select * from score;",db)
#sql sever身份驗證登陸
#同樣換掉host和數據庫名稱,同時換掉sa登陸的密碼,這裡為123
db = sqla.create_engine("mssql+pymssql://sa:[email protected]/db_databsae?charset=utf8")
pd.read_sql("select * from test;",db)