本文實例講述了Python操作Sql Server 2008數據庫的方法。分享給大家供大家參考,具體如下:
最近由于公司的一個項目需要,需要使用Sql Server 2008數據庫,開發語言使用Python,并基于windows平臺上的Wing IDE4.0進行。
之前并未使用過Sql Server數據庫,這次也當作一次練手,并把這次數據庫前期開發過程中遇到的一些問題進行記錄。
一、關于pyodbc庫和pymssql庫的選擇
在使用python語言進行開發之前,需要確定使用哪種第三方的數據庫操作接口,目前Python提供了一些庫,如pymssql和pyodbc,目前網上資料比較多的也是這兩個了。剛開始我嘗試安裝并使用了pymssql庫,但是始終無法通過python應用程序遠程訪問連接Sql Server數據庫,由于對windows平臺又不太熟悉,網上查了一些資料未果,說是需要依賴feeds,還需要設置各種變量等,最終我放棄了它改用pyodbc,雖然也遇到一些小問題,但是總體來說非常順利。
二、關于pyodbc庫的一些接口說明
基于第三方python庫來訪問Sql Server數據庫的過程非常簡單(其實除了能訪問sql server外,它還可以訪問其它數據庫,因為它們都基于標準的DB-API2.0標準),總共只需要四步:打開并連接數據庫connect、 獲取游標指針、執行數據庫sql操作、關閉數據庫連接
1 打開連接數據庫
代碼如下:cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=localhost;DATABASE=testdb;UID=me;PWD=pass')
或者是:
代碼如下:cnxn = pyodbc.connect(DRIVER='{SQL Server}',SERVER='localhost',DATABASE='testdb',UID='me',PWD='pass')
這里簡單說明一下參數:
DRIVER='{SQL Server}'這個一般是固定的,除非你在Sql Server作了更改。
SERVER:此參數為數據庫服務器名稱,不是"192.168.0.X"這種,一般在安裝時命名好了,我的是:ZHANGHUAMIN/MSSQLSERVER_ZHM
DATABASE:此參數指的是Sql Server內具體的數據庫了,使用這個connect接口連接之前在sqlserver內應該是已經先創建好并存在的,否則連接不上。
UID:用戶名
PWD:密碼
執行完畢后,如果成功將返回一個數據庫連接句柄。
2 獲取游標指針
cursor = cnxn.cursor()
后面對數據庫執行的sql語句將使用游標指針來操作
3 執行數據庫sql操作
cursor.execute("select user_id, user_name from users") #調用游標指針的execute方法執行sql語句row = cursor.fetchone() #sql語句執行結果的獲取,如果需要一次獲取多條記錄,可以使用cursor.fetchall()方法if row: print row有時對數據庫執行完sql語句后需要對此事務進行提交,使用如下接口:
cnxn.commit()
特別是當創建一個數據庫或數據表,若未進行提交事務,在Sql Server2008終端上將找不到創建的數據庫及數據表,如果提交后,在sql server2008通過終端的查詢sql 語句就可以即時查到。注:提交事務的
新聞熱點
疑難解答