Python3操作SQL Server數(shù)據(jù)庫(實例講解)
1.前言
前面學完了SQL Server的基本語法,接下來學習如何在程序中使用sql,畢竟不能在程序中使用的話,實用性就不那么大了。
2.最基本的SQL查詢語句
python是使用pymssql這個模塊來操作SQL Server數(shù)據(jù)庫的,所有需要先安裝pymssql。
這個直接在命令行里輸入pip install pymssql安裝就行了
然后還要配置好自己本地的SQL Server數(shù)據(jù)庫,進入Microsoft SQL Server Management Studio中可以進行設置。如果你選擇的是使用Windows身份驗證的方式的話,要改成SQL驗證方式才行。這個網(wǎng)上教程很多,搜索一下就出來了。
3.簡單測試語句
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變量獲取數(shù)據(jù)
rs = cursor.fetchall()
print(rs)
打開IDLE,新建python程序:
運行結(jié)果:

4.提交與回滾
在python中,在操作完 "增刪改" 之后,還需要執(zhí)行commit()才能真正提交代碼執(zhí)行,如果出意外的話就執(zhí)行rollback()回滾到之前的狀態(tài),相當于之前的操作都白做了,這樣也保護了數(shù)據(jù)庫。
所以建議寫程序這樣寫:
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()刪去,然后看看數(shù)據(jù)庫是否有變化。
5.封裝成類的寫法
'''
TestDB類
功能:測試數(shù)據(jù)庫的類寫法
作者: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數(shù)據(jù)庫(實例講解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
PyTorch函數(shù)torch.cat與torch.stac的區(qū)別小結(jié)
Pytorch中常用的兩個拼接函數(shù)torch.cat() 和 torch.stack(),本文主要介紹了這兩個函數(shù)的用法加區(qū)別,具有一定的參考價值,感興趣的可以了解一下2023-09-09
用Python實現(xiàn)童年貪吃蛇小游戲功能的實例代碼
這篇文章主要介紹了用Python實現(xiàn)童年貪吃蛇小游戲功能的實例代碼,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12
詳解Python如何檢查一個數(shù)字是否是三態(tài)數(shù)
在數(shù)學中,三態(tài)數(shù)(Triangular?Number)是一種特殊的數(shù)列,它是由自然數(shù)按照一定規(guī)律排列而成的,本文主要介紹了如何使用Python檢查判斷一個數(shù)字是否是三態(tài)數(shù),需要的可以參考下2024-03-03
python使用BeautifulSoup分頁網(wǎng)頁中超鏈接的方法
這篇文章主要介紹了python使用BeautifulSoup分頁網(wǎng)頁中超鏈接的方法,涉及Python使用BeautifulSoup模塊操作網(wǎng)頁鏈接的技巧,需要的朋友可以參考下2015-04-04

