日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习之GUI--SQL数据库连接

發(fā)布時間:2025/4/5 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习之GUI--SQL数据库连接 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1 前言

在進(jìn)行SQL數(shù)據(jù)庫連接之前,我們需要先了解一下pymssql庫。有關(guān)pymssql的解釋推薦大家去官網(wǎng)學(xué)習(xí)。網(wǎng)上有關(guān)這方面的知識大部分是實例為主,不利于學(xué)習(xí)。另一方面,經(jīng)過他人咀嚼過的知識也總是差那么點味道。

2 pyssql簡介

A simple database interface for Python that builds on top of FreeTDS to provide a Python DB-API (PEP-249) interface to Microsoft SQL Server.

大意就是pymssql的一個python鏈接SQL數(shù)據(jù)庫的接口包,至于其中提到的FreeTDS,如果你是Linux是需要安裝這個包的,當(dāng)然如果你是Windows系統(tǒng)就可以直接跳過這個問題了

FreeTDS is required. On some platforms, we provide a pre-compiled FreeTDS to make installing easier, but you may want to install FreeTDS before doing pip install pymssql if you run into problems or need features or bug fixes in a newer version of FreeTDS. You can build FreeTDS from source if you want the latest. If you’re okay with the latest version that your package manager provides, then you can use your package manager of choice to install FreeTDS. E.g.

Generally,you will want to install pymssql with:

pip install pymssql

3 SQL數(shù)據(jù)庫連接

先上代碼

def __GetConnect(self):"""得到連接信息返回: conn.cursor()"""if not self.db:raise(NameError,"沒有設(shè)置數(shù)據(jù)庫信息")self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")#打開游標(biāo)cur = self.conn.cursor()if not cur:raise(NameError,"連接數(shù)據(jù)庫失敗")else:return cur

第一步: 通過connect完成對數(shù)據(jù)庫的連接

conn = pymssql.connect(host,user,password,database,charset="utf8") 參數(shù)解釋
server數(shù)據(jù)庫服務(wù)器名稱或IP
user用戶名
password密碼
database數(shù)據(jù)庫名稱
charset數(shù)據(jù)的編碼格式,可以省略

截圖示例:

第二步: 創(chuàng)建一個游標(biāo)

cur = self.conn.cursor()

到這了數(shù)據(jù)庫就算連接成功了,下面介紹如何對數(shù)據(jù)進(jìn)行操作

4 SQL查詢操作

輸入SQL查詢語句–>執(zhí)行sql語句–>獲取查詢結(jié)果–>關(guān)閉數(shù)據(jù)庫連接–>返回查詢結(jié)果

def ExecQuery(self,sql):"""執(zhí)行查詢語句返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段"""cur = self.__GetConnect()#執(zhí)行sql語句,獲取所有數(shù)據(jù)print(sql)cur.execute(sql)#resList是list,而其中的每個元素是 tupleresList = cur.fetchall()#查詢完畢后必須關(guān)閉連接self.conn.close()return resList

5 SQL非查詢操作

輸入SQL操作語句–>執(zhí)行sql語句–>關(guān)閉數(shù)據(jù)庫連接–>返回查詢結(jié)果

請注意一定要有conn.commit()這句來提交事務(wù),要不然不能真正的插入數(shù)據(jù)。

def ExecNonQuery(self,sql):"""執(zhí)行非查詢語句"""cur = self.__GetConnect()#執(zhí)行sql語句,修改數(shù)據(jù)cur.execute(sql)#執(zhí)行sql語句self.conn.commit()self.conn.close()

6 一份完整的SQL數(shù)據(jù)庫操作代碼

#在這里進(jìn)行SQL數(shù)據(jù)庫操作import pymssqlclass MSSQL:def __init__(self,host,user,pwd,db):self.host = hostself.user = userself.pwd = pwdself.db = dbdef __GetConnect(self):"""得到連接信息返回: conn.cursor()"""if not self.db:raise(NameError,"沒有設(shè)置數(shù)據(jù)庫信息")self.conn = pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")#打開游標(biāo)cur = self.conn.cursor()if not cur:raise(NameError,"連接數(shù)據(jù)庫失敗")else:return curdef ExecQuery(self,sql):"""執(zhí)行查詢語句返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段"""cur = self.__GetConnect()#執(zhí)行sql語句,獲取所有數(shù)據(jù)print(sql)cur.execute(sql)#resList是list,而其中的每個元素是 tupleresList = cur.fetchall()#查詢完畢后必須關(guān)閉連接self.conn.close()return resListdef ExecNonQuery(self,sql):"""執(zhí)行非查詢語句"""cur = self.__GetConnect()#執(zhí)行sql語句,修改數(shù)據(jù)cur.execute(sql)#執(zhí)行sql語句self.conn.commit()self.conn.close()def main(opType,sql):#獲取數(shù)據(jù)庫對象ms = MSSQL(host="Test",user="sa",pwd="123",db="YSZYGLXT2")if opType == "YES":#進(jìn)行數(shù)據(jù)庫查詢resList = ms.ExecQuery(sql)# for (account,password,typeData) in resList:return resListelif opType == "NO":#進(jìn)行非查詢操作ms.ExecNonQuery(sql)else:print("程序在判斷操作類型處出錯!請檢查,出錯地址:SQLOperation.py文件")if __name__ == '__main__':main()

總結(jié)

以上是生活随笔為你收集整理的Python学习之GUI--SQL数据库连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线看黄免费 | 黄色激情在线 | 黄色一级片在线免费观看 | 91网站免费 | 天天爽天天做 | 蜜桃视频一区二区在线观看 | 小镇姑娘高清播放视频 | 国产美女又黄又爽又色视频免费 | 丝袜熟女一区二区 | 国产极品免费 | 精品国产乱子伦一区二区 | 波多野结衣视频免费 | 成人在线免费看 | 日韩中文字幕二区 | 无人在线观看高清视频 单曲 | 九色porny视频 | 操人小视频 | 一卡二卡三卡在线视频 | 黄在线免费观看 | 岛国av大片 | 97超碰人人爱 | 久久九九热视频 | 日韩免费观看一区二区 | 久草影视在线观看 | 国产永久视频 | 色婷婷电影网 | 91插插插插插插插 | 亚洲电影中文字幕 | 亚洲视频123 | 欧美色噜噜| 天天色天天色 | 亚洲 日本 欧美 中文幕 | av在线电影院 | 国产乱码一区二区三区在线观看 | 亚洲精品久久久中文字幕 | 亚洲国产片 | 黄色大片av | 看片网站在线观看 | 成人黄色大全 | 欧洲一区二区三区在线 | 18禁超污无遮挡无码免费游戏 | 国产精品午夜电影 | 欧美激情性做爰免费视频 | 国产美女无遮挡网站 | 欧美日韩精品在线 | 97人人视频 | 亚洲一区影院 | 国产精品久久综合视频 | 美女隐私无遮挡免费 | 日本欧美在线 | 啪啪免费网| 国产一区二区三区免费观看视频 | 天天做天天爱天天操 | 亚洲视频五区 | 青青草视频偷拍 | 美国一区二区 | 亚洲制服一区二区 | 黄色网占 | 日韩免费黄色 | 国产ts在线观看 | 亚洲天天综合 | 日本在线免费观看视频 | 911精品 | 特级黄色录像 | 国产精品成人免费精品自在线观看 | 免费做a爰片77777 | 韩国视频一区二区三区 | www在线看片 | 91麻豆精品在线观看 | 成人性生交7777 | 三级在线国产 | 亚洲自偷自偷偷色无码中文 | 成人片片 | 国产精品xxxxx | 一本色道av | 亚洲一区二区天堂 | 自拍 偷拍 欧美 | 国产日本精品 | 国产精品色悠悠 | 亚洲a视频在线观看 | 欧美性激情 | 国产一区二区不卡在线 | 777米奇影视第四色 五月丁香久久婷婷 | 国产视频精品视频 | 求毛片网站 | 无码国产精品一区二区免费16 | 国产精品永久 | 中文字幕1区 | 男人天堂亚洲天堂 | 激情文学亚洲色图 | 97国产精东麻豆人妻电影 | 久久丝袜美腿 | 高清中文字幕 | 国产人人干| 中文字幕女同 | 日本人dh亚洲人ⅹxx | 亚洲色图88 | 国产精品成人一区二区网站软件 | 久久久久成人精品免费播放动漫 |