首頁 >後端開發 >Python教學 >Python操作SQL Server資料庫的方法

Python操作SQL Server資料庫的方法

一个新手
一个新手原創
2017-10-19 10:09:223929瀏覽

0.目錄

1.前言

2.準備工作

#3.簡單測試語句

4.提交與回溯

5.封裝成類別的寫法

1.前言

前面學完了SQL Server的基本語法,接下來學習如何在程式中使用sql,畢竟不能在程式中使用的話,實用性就沒那麼大了。

2.最基本的SQL查詢語句

python是使用pymssql這個模組來操作SQL Server資料庫的,所有需要先安裝pymssql。
這個直接在命令列輸入pip install pymssql安裝就行了

然後還要配置好自己本地的SQL Server資料庫,進入Microsoft SQL Server Management Studio中可以進行設置。如果你選擇的是使用Windows驗證的方式的話,要改成SQL驗證方式才行。這個網路教學很多,搜尋一下就出來了。

3.簡單測試語句

開啟IDLE,新建python程式:


import pymssql

conn = pymssql.connect(host='127.0.0.1',
                       user='sa',
                       password='123',
                       database='SQLTest',
                       charset='utf8')#查看连接是否成功cursor = conn.cursor()
sql = 'select * from student'cursor.execute(sql)#用一个rs变量获取数据rs = cursor.fetchall()print(rs)

4.提交與回滾

#在python中,在操作完"增刪改" 之後,還需要執行commit()才能真正提交程式碼執行,如果出意外的話就執行rollback()回滾到之前的狀態,相當於之前的操作都白做了,這樣也保護了資料庫。
所以建議寫程式這樣寫:

try:
    conn = pymssql.connect(host='127.0.0.1',
                           user='sa',
                           password='123',
                           database='SQLTest',
                           charset='utf8')
    cursor = conn.cursor()
    sql = 'insert into student values('0001', '张三', 18, '男', '文学院')'
    cursor.execute(sql)
    conn.commit()except Exception as ex:
    conn.rollback()    raise exfinally:
    conn.close()

大家可以試試看conn.commit()刪除,然後看看資料庫是否有變化。

5.封裝成類別的寫法

'''    TestDB类    
功能:测试数据库的类写法    
作者:PyLearn       
最后修改日期: 2017/10/17'''
import pymssql
class TestDB():    
def __init__(self):
        try:            self.conn = pymssql.connect(host='127.0.0.1',
                                        user='sa',
                                        password='123',
                                        database='SQLTest',
                                        charset='utf8')            
self.cursor = self.conn.cursor()            
self.sql = "insert into student values('0001', '张三', 18, '男', '文学院')"
            self.cursor.execute(self.sql)            
self.conn.commit()        
except Exception as ex:            
self.conn.rollback()           
 raise ex        
 finally:            
 self.conn.close()if __name__ == '__main__':
    test_DB = TestDB()

以上是Python操作SQL Server資料庫的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn