標籤:
本文主要是Python操作SQLServer樣本,包括執行查詢及更新操作(寫入中文)。
需要注意的是:讀取資料的時候需要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‘))
Python操作SQLServer樣本