Python3操作SQL Server數(shù)據(jù)庫(kù)(實(shí)例講解)
1.前言
前面學(xué)完了SQL Server的基本語法,接下來學(xué)習(xí)如何在程序中使用sql,畢竟不能在程序中使用的話,實(shí)用性就不那么大了。
2.最基本的SQL查詢語句
python是使用pymssql這個(gè)模塊來操作SQL Server數(shù)據(jù)庫(kù)的,所有需要先安裝pymssql。
這個(gè)直接在命令行里輸入pip install pymssql安裝就行了
然后還要配置好自己本地的SQL Server數(shù)據(jù)庫(kù),進(jìn)入Microsoft SQL Server Management Studio中可以進(jìn)行設(shè)置。如果你選擇的是使用Windows身份驗(yàn)證的方式的話,要改成SQL驗(yàn)證方式才行。這個(gè)網(wǎng)上教程很多,搜索一下就出來了。
3.簡(jiǎn)單測(cè)試語句
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) #用一個(gè)rs變量獲取數(shù)據(jù) rs = cursor.fetchall() print(rs)
打開IDLE,新建python程序:
運(yùn)行結(jié)果:
4.提交與回滾
在python中,在操作完 "增刪改" 之后,還需要執(zhí)行commit()才能真正提交代碼執(zhí)行,如果出意外的話就執(zhí)行rollback()回滾到之前的狀態(tài),相當(dāng)于之前的操作都白做了,這樣也保護(hù)了數(shù)據(jù)庫(kù)。
所以建議寫程序這樣寫:
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, '男', '文學(xué)院')' cursor.execute(sql) conn.commit() except Exception as ex: conn.rollback() raise ex finally: conn.close()
大家可以試一試將conn.commit()刪去,然后看看數(shù)據(jù)庫(kù)是否有變化。
5.封裝成類的寫法
''' TestDB類 功能:測(cè)試數(shù)據(jù)庫(kù)的類寫法 作者: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, '男', '文學(xué)院')" 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ù)庫(kù)(實(shí)例講解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
淺談Selenium+Webdriver 常用的元素定位方式
這篇文章主要介紹了淺談Selenium+Webdriver 常用的元素定位方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01Python3轉(zhuǎn)換html到pdf的不同解決方案
今天小編就為大家分享一篇關(guān)于Python3轉(zhuǎn)換html到pdf的不同解決方案,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2019-03-03Python + selenium + crontab實(shí)現(xiàn)每日定時(shí)自動(dòng)打卡功能
這篇文章主要介紹了Python + selenium + crontab實(shí)現(xiàn)每日定時(shí)自動(dòng)打卡功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法
這篇文章主要介紹了python實(shí)現(xiàn)搜索本地文件信息寫入文件的方法,涉及Python針對(duì)文件的遍歷及屬性操作相關(guān)技巧,需要的朋友可以參考下2016-02-02Windows 下python3.8環(huán)境安裝教程圖文詳解
這篇文章主要介紹了Windows 下python3.8環(huán)境安裝教程圖文詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型的代碼詳解
問起面向?qū)ο蟮娜筇匦裕瑤缀趺總€(gè)人都能對(duì)答如流:封裝、繼承、多態(tài)。今天我們就要來說一說Python實(shí)現(xiàn)多態(tài)、協(xié)議和鴨子類型,感興趣的朋友跟隨小編一起看看吧2019-05-05