注:此文也是轉載,,2018年1月發(fā)現此文閱讀量過萬,,略感不安。當時只是為了自己存檔學習,,未粘此文的原始連接。如有侵權,,通過即刪除,,敬請諒解! 從網上找的,,估計原文是:Python操作SQLServer示例 本文主要是Python操作SQLServer示例,,包括執(zhí)行查詢及更新操作(寫入中文)。 需要注意的是:讀取數據的時候需要decode('utf-8'),,寫數據的時候需要encode('utf-8'),,這樣就可以避免煩人的中文亂碼或報錯問題,。 Python操作SQLServer需要使用pymssql模塊,使用pip install pymssql安裝即可,。 此外代碼中使用的封裝MSSQL類是從網上搜索到的,,直接用即可。 # -*- coding:utf-8 -*-import pymssqlclass MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user self.pwd = pwd self.db = db def __GetConnect(self): if not self.db: raise(NameError,'沒有設置數據庫信息') 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,'連接數據庫失敗') else: return cur def ExecQuery(self,sql): cur = self.__GetConnect() cur.execute(sql) resList = cur.fetchall() #查詢完畢后必須關閉連接 self.conn.close() return resList def ExecNonQuery(self,sql): cur = self.__GetConnect() cur.execute(sql) self.conn.commit() self.conn.close()ms = MSSQL(host='192.168.1.1',user='sa',pwd='sa',db='testdb')reslist = ms.ExecQuery('select * from webuser')for i in reslist: print inewsql='update webuser set name='%s' where id=1'%u'測試'print newsqlms.ExecNonQuery(newsql.encode('utf-8'))
|
|
來自: goodwangLib > 《Python》