Python操作SQLServer
安裝開發環境
要進行SQLServer的開發,首先需要在本機上安裝SQLServer,建立本機開發環境。可以從微軟官網上下載類似cn_sql_server_2012_enterprise_edition_with_sp1_x86_x64_dvd_1234493.iso檔案,可以直接雙擊安裝,安裝過程極為複雜,對於習慣mysql的使用者來說可以說是難以想象。歷盡千辛苦安裝之後,就可以啟動SQL Server Management Studio來進行資料庫管理了。
安裝所需庫
用python操作SQLServer資料庫,需要安裝pymssql庫。直接使用pip install pymssql會提示需要visual studio 2014 build tools,而且只能是這個版本,高版本的都不行。所以最簡單的方法是下載whl檔案,直接安裝。
到python庫網站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql,找到自己平臺對應的檔案,下載到本地任意一個目錄,以我的為例為pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl,在該目錄下執行如下命令:
pip install pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl
安裝成功後,可以直接刪除pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl檔案,因為python已經將其拷貝到系統庫檔案目錄下了。
建立資料庫
首先將線上資料庫備份為bak檔案,下載到本機上來。
在SQL Server Management Studio中,在左側選單欄中選擇“資料庫”,點選右鍵選反擇“還原資料庫”,進行如下圖所示操作:
選擇確定就可以在本地建立一個完整的資料庫了。
在SQLServer Management Studio中,建立一個新資料庫連線,輸入新建資料庫使用者名稱和密碼,如果可以成功連線,則開發環境就準備成功了。
資料庫操作
對於資料庫操作,首先需要建立資料庫連線,然後是執行增刪改查操作,我們這裡僅以建立資料庫連線和傳送一條簡單的查詢請求為例。首先是建立資料庫連線,程式碼如下所示:
import pymssql
def get_connection():
conn = pymssql.connect(server='SKY-20180726HXA',
user='dbo_lejiao', password='123456', database='app_hw_read')
return conn
def close_connection(conn):
conn.close()
資料庫連線建立好之後,就可以進行增刪改查操作了,這裡以查詢為例,並在SQL語句中有兩個引數,採用SQL預編譯方式,這樣就不用考慮SQL隱碼攻擊的問題了,程式碼如下所示:
def execute_query(sql, params):
conn = get_connection()
cursor = conn.cursor()
cursor.execute(sql, params)
rows = cursor.fetchall()
return rows
如上所示,SQLServer採用遊標來執行SQL語句,在執行SQL語句時,可以指定引數的值params,params的型別為元組,如果是一次性執行多條語句,例如一次性插入100條記錄,可以將100條記錄的引數作為元組陣列形式傳入,如下所示:
cursor.executemany(
"INSERT INTO persons VALUES (%d, %s, %s)",
[(1, 'John Smith', 'John Doe'),
(2, 'Jane Doe', 'Joe Dog'),
(3, 'Mike T.', 'Sarah H.')])
呼叫程式碼如下所示:
import model.m_mssql as db
if __name__ == '__main__':
args = {}
print('Microsoft SQLServer')
conn = db.get_connection()
print(conn)
sql = 'select resid, resindex, remark from dbo.Res_warn where resindex=%d or resindex=%d'
index1 = 0
index2 = 3
params = (index1, index2)
rows = db.execute_query(sql, params)
for row in rows:
print('#### {0}--{1}--{2}'.format(row[0], row[1], row[2]))
db.close_connection(conn)
print('mssql is ok')
其中model/m_mssql.py檔案中的內容為上面我們列出的程式碼。
相關文章
- Python操作SQLServer資料庫增刪改查PythonSQLServer資料庫
- SqlServer 操作 JSONSQLServerJSON
- 2018-12-17 Python操作SQLServer示例PythonSQLServer
- SQLServer 理解copyonly備份操作SQLServer
- 關於SqlServer資料表操作SQLServer
- SQLServer DML操作阻塞SELECT查詢SQLServer
- sqlserver遇到回滾事務的操作策略SQLServer
- sqlserver資料庫備份,還原操作SQLServer資料庫
- 操作sqlserver資料庫常用的三個方法SQLServer資料庫
- sqlserver建立資料流操作來導資料SQLServer
- sqlserver update或者Delete誤操作恢復方法---【驗證】SQLServerdelete
- Linux 平臺安裝SQLServer客戶端操作指南LinuxSQLServer客戶端
- Sqlserver 映象切換操作並檢查映象同步情況SQLServer
- 【Python】python 日期操作Python
- Python 操作 MySQLPythonMySql
- python 操作 GitPythonGit
- Python字串操作Python字串
- Python操作RedisPythonRedis
- python操作mysqlPythonMySql
- python 操作redisPythonRedis
- Python操作WordPython
- python操作csvPython
- python操作elasticsearchPythonElasticsearch
- python基本操作Python
- python .T操作Python
- python 字串操作Python字串
- python日期操作Python
- python操作excelPythonExcel
- 函式計算Python連線SQLServer小結函式PythonSQLServer
- sqlserver收縮資料庫、收縮資料檔案的操作SQLServer資料庫
- sqlserver索引重建和索引重組的區別和操作方法SQLServer索引
- 圖解sqlserver 2000 還原資料庫的基本操作圖解SQLServer資料庫
- [py]python操作zookeeperPython
- python 操作 Excel 表格PythonExcel
- Python如何操作MySQLPythonMySql
- python操作redis(二)PythonRedis
- python如何操作socketserverPythonServer
- Python操作MySQL分享PythonMySql