0,首先在电脑中安装pymssql库,该库可以到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
—使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启
1,下面是连接和查询Sql数据库类(底层访问类—通用,有了它就可以随意访问数据库了,主要包含一些访问数据库的函数):
import pymssql
2,下面在函数中,连接数据库,并执行一个简单的查询语句(查):
3,下面是一个超微复杂点的查询语句(查):
4,下面是插入数据(增)操作:
5,下面是删除(删)操作:
6,下面是更新(改)操作:
7,执行存储过程:
cur.execute(“exec 存储过程名 @参数1=XXX, @参数2=‘YYY’……”)
一个真实的案例:
—前提,你的账号要有执行存储过程的权限,否则会报下边错误:
OperationalError: (229, “The EXECUTE permission was denied on the object ‘SearchBshi’, database ‘Wutong’, schema ‘dbo’.DB-Lib error message 229, severity 14: General SQL Server error: Check messages from the SQL Server “)
@注意事项:
1,使用pymssql进行中文操作时候可能会出现中文乱码,我解决的方案是:
- 文件头加上 #coding=utf8
- sql语句中有中文的时候进行encode
= “insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,‘测试’,‘2012/2/1’)”.encode(“utf8”) - 连接的时候加入charset设置信息
=self.host,user=self.user,password=self.pwd,database=self.db,charset=“utf8”)
2,print str(huiyuancontent),不要加str,会报编码错误。用unicode(huiyuancontent)。
3,注意Sql语句,查询返回的结果值处理问题。reslist=ms.ExecQuery(“select top 10 id,c_value from dbo.bx_categories AS bc”)
这里reslist是一个数组对象[(u’做事’,), (u’作为实现’,), (u’佐照龙’,)],[]代表查询的结果集数组,里边的圆括号表示的是一行一行的数据,圆括号内逗号隔开的是一列一列的数据。
—最主要,是我们取值的时候,要取对应的值。假如我取结果集中第一行第一列的值,那就是reslist[0][0]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/176592.html