從網(wǎng)上找的,估計(jì)原文是:Python操作SQLServer示例
本文主要是Python操作SQLServer示例饰及,包括執(zhí)行查詢及更新操作(寫入中文)。
需要注意的是:讀取數(shù)據(jù)的時(shí)候需要decode('utf-8'),寫數(shù)據(jù)的時(shí)候需要encode('utf-8'),這樣就可以避免煩人的中文亂碼或報(bào)錯(cuò)問題口锭。
Python操作SQLServer需要使用pymssql模塊,使用pip install pymssql安裝即可介杆。
此外代碼中使用的封裝MSSQL類是從網(wǎng)上搜索到的鹃操,直接用即可。
-- coding:utf-8 --
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): if not self.db: raise(NameError,"沒有設(shè)置數(shù)據(jù)庫(kù)信息")
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ù)庫(kù)失敗") else: return cur def ExecQuery(self,sql):
cur = self.__GetConnect()
cur.execute(sql)
resList = cur.fetchall() #查詢完畢后必須關(guān)閉連接
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 i
newsql="update webuser set name='%s' where id=1"%u'測(cè)試'
print newsql
ms.ExecNonQuery(newsql.encode('utf-8'))</pre>
活到老春哨,學(xué)到老荆隘。