1.前言
前面學完了SQL Server的基本語法,接下來學習如何在程序中使用sql,畢竟不能在程序中使用的話,實用性就不那么大了。
2.最基本的SQL查詢語句
python是使用pymssql這個模塊來操作SQL Server數據庫的,所有需要先安裝pymssql。
這個直接在命令行里輸入pip install pymssql安裝就行了
然后還要配置好自己本地的SQL Server數據庫,進入Microsoft SQL Server Management Studio中可以進行設置。如果你選擇的是使用Windows身份驗證的方式的話,要改成SQL驗證方式才行。這個網上教程很多,搜索一下就出來了。
3.簡單測試語句
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
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) |
打開IDLE,新建python程序:
運行結果:
4.提交與回滾
在python中,在操作完 "增刪改" 之后,還需要執行commit()才能真正提交代碼執行,如果出意外的話就執行rollback()回滾到之前的狀態,相當于之前的操作都白做了,這樣也保護了數據庫。
所以建議寫程序這樣寫:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
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 ex finally: conn.close() |
大家可以試一試將conn.commit()刪去,然后看看數據庫是否有變化。
5.封裝成類的寫法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
''' TestDB類 功能:測試數據庫的類寫法 作者:PyLearn 博客: http://www.cnblogs.com/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() |
以上這篇Python3操作SQL Server數據庫(實例講解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/PyLearn/p/7688020.html