Python筆記:連接數(shù)據(jù)庫 2019-12-10

? ? 上次把環(huán)境搞定了,把如何安裝第三方包也弄清楚了,pymssql也裝好,剩下的其實就比較簡單的了,百度下,找了段例子。

#coding=utf-8

# sqlserver的連接

import pymssql

class MSSQL:

? ? def __init__(self,host,user,pwd,db):

? ? ? ? self.host = host

? ? ? ? self.user = user

? ? ? ? self.pwd = pwd

? ? ? ? self.db = db

? ? 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")

? ? ? ? cur = self.conn.cursor()

? ? ? ? if not cur:

? ? ? ? ? ? raise(NameError,"連接數(shù)據(jù)庫失敗")

? ? ? ? else:

? ? ? ? ? ? return cur

? ? def ExecQuery(self,sql):

? ? ? ? """

? ? ? ? 執(zhí)行查詢語句

? ? ? ? 返回的是一個包含tuple的list,list的元素是記錄行,tuple的元素是每行記錄的字段

? ? ? ? """

? ? ? ? cur = self.__GetConnect()

? ? ? ? cur.execute(sql)

? ? ? ? resList = cur.fetchall()

? ? ? ? #查詢完畢后必須關(guān)閉連接

? ? ? ? self.conn.close()

? ? ? ? return resList

? ? def ExecNonQuery(self,sql):

? ? ? ? """

? ? ? ? 執(zhí)行非查詢語句

? ? ? ? 調(diào)用示例:

? ? ? ? ? ? cur = self.__GetConnect()

? ? ? ? ? ? cur.execute(sql)

? ? ? ? ? ? self.conn.commit()

? ? ? ? ? ? self.conn.close()

? ? ? ? """

? ? ? ? cur = self.__GetConnect()

? ? ? ? cur.execute(sql)

? ? ? ? self.conn.commit()

? ? ? ? self.conn.close()

def main():

? ? ms = MSSQL(host="LM-PC",user="sa",pwd="12345678",db="example_for_lm")

? ? resList = ms.ExecQuery("SELECT * FROM sample")

? ? print(resList)

if __name__ == '__main__':

? ? main()

? ? python的書寫規(guī)范其實跟其他語言差不多,里面的實現(xiàn)技巧也大同小異,用"""" 和""""做跨段注釋,用#做本行注釋,用:做類開頭。我在sql server 2014里建了個數(shù)據(jù)庫"example_for_lm",里面建了個"sample"的表,試著怎么查詢?nèi)缓箫@示出來。把? ? ms = MSSQL(host="XX-PC",user="sa",pwd="12345678",db="example_for_me")里面的host改為數(shù)據(jù)庫服務(wù)器主機(jī)名或ip,user改為數(shù)據(jù)庫用戶,pwd為密碼,db為連接后的默認(rèn)數(shù)據(jù)庫,上機(jī)運行,成功。python挺好玩,直接就print結(jié)果集,簡單粗暴。搞清楚整個流程,剩下的只是拼湊ms.ExecQuery后面執(zhí)行的sql語句了,增刪改記錄什么的,這些百度一下,都不難搞定。

? 注意點:

一、pymssql主要提供的conn(連接)和cursor(操作)兩個方法。

二、用完記得把conn關(guān)閉掉 close()。


數(shù)據(jù)庫
python
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容