python:利用pymssql模块操作SQL server数据库

python:利用pymssql模块操作SQL server数据库python默认的数据库是 SQLlite,不过它对MySql以及SQL server的支持也可以。这篇博客,介绍下如何在Windows下安装pymssql库并进行连接使用。。。 环境:Windows_64位 版本:python3.6 一、简单介绍 pymssql是一个python的数据库接口,基于

 python默认的数据库是 SQLlite,不过它对MySql以及SQL server的支持也可以。这篇博客,介绍下如何在Windows下安装pymssql库并进行连接使用。。。

环境:Windows_64位

版本:python3.6

 

一、简单介绍

pymssql是一个python的数据库接口,基于FreeTDS构建,对_mssql模块进行了封装,遵循python的DBAPI规范,而FreeTDS是一个C语言连接sqlserver的公共开源库。

它们的关系如下:

python:利用pymssql模块操作SQL server数据库

具体的内容,可查阅官方文档进行了解:http://pymssql.org/en/stable/index.html

 

二、下载安装

有两种安装方式,下面分别介绍:

1、vs+pymssql

python:利用pymssql模块操作SQL server数据库

通过官方文档可知,要安装pymssql首先需要安装vs,根据上图,选择自己的python版本对应的vs版本,以及操作系统版本进行安装包下载:

FreeTDS下载地址:https://github.com/ramiro/freetds/releases/

python:利用pymssql模块操作SQL server数据库

pymssql下载地址:https://pypi.org/project/pymssql/

python:利用pymssql模块操作SQL server数据库

下载对应的版本,进行安装,pymssql可以使用pip命令安装,也可以安装包安装,根据个人喜好即可。

安装后,可以通过CMD进入命令行,然后输入 pip show mymssql ,查看是否安装成功,示例如下:

python:利用pymssql模块操作SQL server数据库

PS:这种方法安装,可能会出现一些迷之报错,很蛋疼,如果这种方法安装搞不定的话,可以看下面第二种安装方法。。。

 

2、安装.whl包

如果认真看过官方文档介绍的童鞋,应该注意到了这里的内容,Windows下可以通过安装.whl包来进行安装pymssql,文档介绍如下:

python:利用pymssql模块操作SQL server数据库

首先通过在python的shell中输入命令 import pip; print(pip.pep425tags.get_supported()) 查看pip支持的文件名和版本,示例如下:

python:利用pymssql模块操作SQL server数据库

然后可以在python的非官方Windows扩展包站点获取对应的.whl文件,链接:https://www.lfd.uci.edu/~gohlke/pythonlibs/

进入该站点以后,Ctrl+F搜索pymssql,然后点击,示例如下:

python:利用pymssql模块操作SQL server数据库

到达这里,选择你需要的.whl包下载:

python:利用pymssql模块操作SQL server数据库

然后进入你的python安装包目录Scripts,利用pip命令,安装即可:

python:利用pymssql模块操作SQL server数据库

 

三、连接使用

1、pymssql工作原理

①、使用connect创建连接对象;

②、connect.cursor创建游标对象,SQL语句的执行在游标上执行;

③、cursor.execute()方法执行SQL语句,cursor.fetch()方法获取查询结果;

④、调用close方法关闭游标cursor和数据库连接;

 

2、示例代码

 1 # coding=utf-8
 2 import pymssql  3 
 4 class SQLServer:  5     def __init__(self,server,user,password,database):  6     # 类的构造函数,初始化DBC连接信息
 7         self.server = server  8         self.user = user  9         self.password = password 10         self.database = database 11 
12     def __GetConnect(self): 13     # 得到数据库连接信息,返回conn.cursor()
14         if not self.database: 15             raise(NameError,"没有设置数据库信息") 16         self.conn = pymssql.connect(server=self.server,user=self.user,password=self.password,database=self.database) 17         cur = self.conn.cursor() 18         if not cur: 19             raise(NameError,"连接数据库失败")  # 将DBC信息赋值给cur
20         else: 21             return cur 22              
23     def ExecQuery(self,sql): 24         '''
25  执行查询语句 26  返回一个包含tuple的list,list是元素的记录行,tuple记录每行的字段数值 27         '''
28         cur = self.__GetConnect() 29         cur.execute(sql) # 执行查询语句
30         result = cur.fetchall() # fetchall()获取查询结果
31         # 查询完毕关闭数据库连接
32  self.conn.close() 33         return result 34 
35 def main(): 36     msg = SQLServer(server="127.0.0.1",user="test",password="Test321",database="TEST") 37     result = msg.ExecQuery("SELECT TOP 1 Value FROM t_Security_Code WHERE Mobile = '18501007700' ORDER BY InsertTime DESC") 38     for (Value) in result: 39         print(Value) 40  
41 if __name__ == '__main__': 42  main()

 PS:初始化数据库连接信息,数据库地址:server,密码:password,数据库:database!!!

刚开始我个人也是自定义的,后来老报错,查询了配置信息后才搞定,具体的connect信息如下:

python:利用pymssql模块操作SQL server数据库

还有两点:

①、一条游标只能执行一条SQL语句,如果需要执行多条,需要创建多条游标,切记!!!

②、SQL语句中有python默认值(比如index)时,给其加上反引号即可。。。

 

关于pymssql模块的下载安装以及基础使用,内容如上,仅供参考。。。

 

今天的文章python:利用pymssql模块操作SQL server数据库分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

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

(0)
编程小号编程小号
上一篇 2023-08-27 08:30
下一篇 2023-08-27 09:06

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注