Python连接SQL Server数据库 - pymssql使用基础

----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html

下面是pymssql里参数使用说明,如下:

  1. pymssqlCnx类(用于连接Mssql数据库)

pymssql.connect()来初始化连接类,它允许如下的参数。

dsn:连接字符串,主要用于与之前版本的pymssql兼容
user:用户名
password:密码
trusted:布尔值,指定是否使用windows身份认证登陆
host :主机名
database:数据库
timeout:查询超时
login_timeout:登陆超时
charset:数据库的字符集
as_dict:布尔值,指定返回值是字典还是元组
max_conn:最大连接数

2. Method

autocommit(status)

布尔值,指示是否自动提交事务,默认的状态是关闭的,如果打开,你必须调用commit()方法来提交事务。

close()

关闭连接

cursor()
返回游标对象,用于查询和返回数据
commit()

提交事务。

rollback()
回滚事务

pymssqlCursor类
用于从数据库查询和返回数据

rowcount

返回最后操作影响的行数。

connection

返回创建游标的连接对象

lastrowid
返回插入的最后一行

rownumber
返回当前数据集中的游标(通过索引)

3. 游标方法

close()
关闭游标

execute(operation)

执行操作

execute(operation, params)

执行操作,可以提供参数进行相应操作

executemany(operation, params_seq)

执行操作,Params_seq为元组

fetchone()
在结果中读取下一行

fetchmany(size=None)
在结果中读取指定数目的行

fetchall()
读取所有行

nextset()
游标跳转到下一个数据集

#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 pymssqlclass 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 = hostself.user = userself.pwd = pwdself.db = dbdef __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 curdef 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 resListdef 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()

注意事项:

使用pymssql进行中文操作时候可能会出现中文乱码,我解决的方案是:

  • 文件头加上 #coding=utf8

  • sql语句中有中文的时候进行encode

    insertSql = "insert into WeiBo([UserId],[WeiBoContent],[PublishDate]) values(1,'测试','2012/2/1')".encode("utf8")

  • 连接的时候加入charset设置信息

    pymssql.connect(host=self.host,user=self.user,password=self.pwd,database=self.db,charset="utf8")

转载于:https://blog.51cto.com/svsky/1936559

python 使用pymssql连接sql server数据库相关推荐

  1. python连接sql数据库_python连接sql server数据库实现增删改查

    简述 python连接微软的sql server数据库用的第三方模块叫做pymssql(document:http://www.pymssql.org/en/stable/index.html).在官 ...

  2. python cv2模块安装_python 连接sql server数据库,pymssql模块安装。

    python 连接sql server数据库,pymssql模块安装. python版本:python3.7 数据库版本:sql server 2016 连接sql server数据库,本菜鸟用的是p ...

  3. python数据库编程:Python基于Pymssql模块实现连接SQL Server数据库的方法详解

    本文实例讲述了Python基于Pymssql模块实现连接SQL Server数据库的方法.分享给大家供大家参考,具体如下: 数据库版本:SQL Server 2012. 按照Python版本来选择下载 ...

  4. python连接sql server数据库(pyodbc)

    用python操作ms sql server,有好几种方法: (1)利用pymssql (2)利用pyodbc 这里讲import pyodbc来操作sql server database. pyod ...

  5. pymssql连接sql server报错:pymssql._pymssql.OperationalError

    目录 应用场景 错误信息 配置过程 测试片段 写在最后 应用场景 使用pycharm编译器连接SQL SERVER 数据库采用pymssql第三方库,SQL SERVER的TCP/IP协议默认端口是动 ...

  6. java连接sql server数据库的代码如何改成连接mysql_连接sqlserver数据库代码

    Sql Server的JDBC测试程序与远程连接 参考文献: 1.MySql与oracle的JDBC测试程序 2.查看sqlserver的端口号 代码示例 在我的机器上安装了多个版本的sqlserve ...

  7. powershell连接数据库_PowerShell 连接SQL Server 数据库

    PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整理的一小段脚本,后来没有用上,先记录在这里: 建立数据库连接 查询返回一个DataTatble对象 执 ...

  8. 如何通过代码连接SQL Server数据库

    我们曾经为南方电网做过几个有关架空线路的科技项目,要趁着假期有整段的空闲时间,把这些代码整理一下,放入团队刚刚重构的代码库中. 由于这些项目使用的数据库为 SQL Server,所以在整理代码之前需要 ...

  9. JDBC连接sql server数据库及其它

    JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...

最新文章

  1. 一种形式的两个提交按钮
  2. 骄阳似火 细数史上数据中心火灾 如何才能重蹈覆辙?
  3. SQL注入学习——时间盲注详解 sqli-labs(Less 9)
  4. .NET开发人员犯的6大安全错误
  5. linux桌面下雪,Ubuntu添加下雪效果
  6. html笔记——网页中视频播放,文字滚动
  7. 牛客网——约数的个数
  8. python基础序列化文件的读取(十六)
  9. EDA365 V2.5下载
  10. VirtualBox 新建虚拟机
  11. 2020年Java市场需求分析
  12. 强化学习基础-蒙特卡洛(Monte Carlo)
  13. 斯蒂文斯理工学院计算机专业应聘,斯蒂文斯理工学院回国认可度高不高
  14. learning python in the hard way习题6~10的附加题练习
  15. 如何在微信中打开app及Schema VS Universal Link
  16. C#-MSDN学习提高
  17. 线代 | 【行列式及矩阵】基本知识
  18. HTML5+CSS期末大作业:篮球明星个人网站设计——篮球明星介绍(6页) 简单的学生DW网页设计作业成品 web课程设计网页规划与设计 简单个人网页设计作业 静态HTML旅行主题网页作业 DW
  19. 无聊科技正经事(第7期):跟村上春树学跑步,向古川武士学养成
  20. Java NIO 编程:Buffer、Channel、Selector原理详解

热门文章

  1. matlab simulink实例,simulink实例(有好多实例)..ppt
  2. 6000毫安以上智能手机_6000大电池+骁龙8核处理器,Redmi新机来袭:价格太美
  3. python3实用编程技巧_适合Python初学者的一些编程技巧
  4. python字符串拼接数字_python字符串和数值操作函数大全(非常全)
  5. php 当前页面下载文件,php实现当前页面点击下载文件的简单方法
  6. Java项目:网上电子书城项目(java+SSM+JSP+maven+Mysql)
  7. rk3399在linux机上烧写img,烧写固件 — TB-96AI documentation
  8. 详细说明Spring--AOP
  9. java有模糊查询吗,到底Java里的模糊查询语句该怎么写
  10. 【React Native】iOS原生导航跳转RN页面