楼主: weitingkoala
5560 4

[学习资源] [Python源码]Python使用pymssql连接sql server数据库 [推广有奖]

学科带头人

13%

还不是VIP/贵宾

-

TA的文库  其他...

应用量化研究

威望
2
论坛币
7921 个
通用积分
51.4514
学术水平
321 点
热心指数
290 点
信用等级
298 点
经验
8986 点
帖子
424
精华
7
在线时间
1323 小时
注册时间
2010-5-7
最后登录
2024-3-4

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
[python] view plaincopyprint?


  • #coding=utf-8   
  • #!/usr/bin/env python  
  • #-------------------------------------------------------------------------------  
  • # Name: pymssqlTest.py  
  • # Purpose: 测试 pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql  
  • #  
  • # Author: scott  
  • #  
  • # Created: 04/02/2012  
  • #-------------------------------------------------------------------------------  
  •   
  • import pymssql  
  •   
  •   
  • class MSSQL:  
  •     """
  •     对pymssql的简单封装
  •     pymssql库,该库到这里下载:http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql
  •     使用该库时,需要在Sql Server Configuration Manager里面将TCP/IP协议开启
  •     用法:
  •     """  
  •   
  •     def __init__(self,host,user,pwd,db):  
  •         self.host = host  
  •         self.user = user  
  •         self.pwd = pwd  
  •         self.db = db  
  •   
  •     def __GetConnect(self):  
  •         """
  •         得到连接信息
  •         返回: conn.cursor()
  •         """  
  •         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):  
  •         """
  •         执行查询语句
  •         返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段
  •         调用示例:
  •                 ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")
  •                 resList = ms.ExecQuery("SELECT id,NickName FROM WeiBoUser")
  •                 for (id,NickName) in resList:
  •                     print str(id),NickName
  •         """  
  •         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()
  •         """  
  •         cur = self.__GetConnect()  
  •         cur.execute(sql)  
  •         self.conn.commit()  
  •         self.conn.close()  
  •   
  • def main():  
  • ## ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")  
  • ## #返回的是一个包含tuple的list,list的元素是记录行,tuple的元素是每行记录的字段  
  • ## ms.ExecNonQuery("insert into WeiBoUser values('2','3')")  
  •   
  •     ms = MSSQL(host="localhost",user="sa",pwd="123456",db="PythonWeiboStatistics")  
  •     resList = ms.ExecQuery("SELECT id,weibocontent FROM WeiBo")  
  •     for (id,weibocontent) in resList:  
  •         print str(weibocontent).decode("utf8")  
  •   
  • if __name__ == '__main__':  
  •     main()


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:python Server Serve mssql sql python server 数据库

已有 1 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
离歌レ笑 + 20 + 20 + 2 + 2 + 2 精彩帖子

总评分: 经验 + 20  论坛币 + 20  学术水平 + 2  热心指数 + 2  信用等级 + 2   查看全部评分

沙发
fantuanxiaot 发表于 2014-12-24 13:43:33 |只看作者 |坛友微信交流群
顶起来!!!

使用道具

藤椅
zhaoxiaoming 发表于 2014-12-25 12:07:28 |只看作者 |坛友微信交流群
好东西,正好要学,感谢楼主!

使用道具

板凳
白头雕007 发表于 2015-11-22 17:03:58 |只看作者 |坛友微信交流群
我调用的时候总是出现中文乱码哇,?有没有好的建议呢

具体代码如下:
# -*- coding: utf-8 -*-
"""
Created on Fri Nov 13 16:56:27 2015

@author: Jay
"""
import pymssql   

conn = pymssql.connect(server="192.168.117.6",user="sa",password="pwd",database="weibo",charset = 'utf8')
'''
conn = pymssql.connect(server="192.168.117.6",user="sa",password="pwd",database="weibo",charset = 'gbk2312')
conn = pymssql.connect(server="192.168.117.6",user="sa",password="pwd",database="weibo",charset = 'cp936')
'''

cur = conn.cursor()
sql = "SELECT TOP 100 ID,价格 FROM 微博评论".encode("utf8")
cur.execute(sql)
resList = cur.fetchall()

conn.commit()
conn.close()
print(resList)

使用道具

报纸
escaflowne1985 在职认证  发表于 2017-12-8 17:21:05 |只看作者 |坛友微信交流群
讲解很详细
支持一下

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-5-1 17:49