注:此文也是转载,2018年1月发现此文阅读量过万,略感不安。当时只是为了自己存档学习,未粘此文的原始连接。如有侵权,通过即删除,敬请谅解! 从网上找的,估计原文是:Python操作SQLServer示例 本文主要是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'))
|
|
来自: goodwangLib > 《Python》