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

环境:Windows_64位

版本:python3.6

一、简单介绍

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

它们的关系如下:

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

二、下载安装

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

1、vs+pymssql

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

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

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

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

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

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

2、安装.whl包

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

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

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

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

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

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

三、连接使用

1、pymssql工作原理

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

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

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

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

2、示例代码

 # coding=utf-8
import pymssql class SQLServer:
def __init__(self,server,user,password,database):
# 类的构造函数,初始化DBC连接信息
self.server = server
self.user = user
self.password = password
self.database = database def __GetConnect(self):
# 得到数据库连接信息,返回conn.cursor()
if not self.database:
raise(NameError,"没有设置数据库信息")
self.conn = pymssql.connect(server=self.server,user=self.user,password=self.password,database=self.database)
cur = self.conn.cursor()
if not cur:
raise(NameError,"连接数据库失败") # 将DBC信息赋值给cur
else:
return cur def ExecQuery(self,sql):
'''
执行查询语句
返回一个包含tuple的list,list是元素的记录行,tuple记录每行的字段数值
'''
cur = self.__GetConnect()
cur.execute(sql) # 执行查询语句
result = cur.fetchall() # fetchall()获取查询结果
# 查询完毕关闭数据库连接
self.conn.close()
return result def main():
msg = SQLServer(server="127.0.0.1",user="test",password="Test321",database="TEST")
result = msg.ExecQuery("SELECT TOP 1 Value FROM t_Security_Code WHERE Mobile = '18501007700' ORDER BY InsertTime DESC")
for (Value) in result:
print(Value) if __name__ == '__main__':
main()

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

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

还有两点:

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

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

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

python:利用pymssql模块操作SQL server数据库的更多相关文章

  1. Python 学习笔记:Python 操作 SQL Server 数据库

    最近要将数据写到数据库里,学习了一下如何用 Python 来操作 SQL Server 数据库. 一.连接数据库: 首先,我们要连接 SQL Server 数据库,需要安装 pymssql 这个第三方 ...

  2. SQL Server学习之路(七):Python3操作SQL Server数据库

    0.目录 1.前言 2.准备工作 3.简单测试语句 4.提交与回滚 5.封装成类的写法 1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话, ...

  3. [转]C#操作SQL Server数据库

    转自:C#操作SQL Server数据库 1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlComman ...

  4. 基于Spring Boot,使用JPA操作Sql Server数据库完成CRUD

    完成一个RESTful服务,提供几个访问接口,用来操作较简单的联系人信息,数据保存在Sql Server数据库中. 1.使用STS创建工程. 使用STS创建RESTful工程,可以参考: <用S ...

  5. SQL语句操作SQL SERVER数据库登录名、用户及权限

    要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许连接 SQL Server 服务器的权利: 获得访问特定数据库中数据的权利(select, update, de ...

  6. 转发:C#操作SQL Server数据库

    转发自:http://www.cnblogs.com/rainman/archive/2012/03/13/2393975.html 1.概述 2.连接字符串的写法 3.SqlConnection对象 ...

  7. [资料]C#操作SQL Server数据库

    1.概述 ado.net提供了丰富的数据库操作,这些操作可以分为三个步骤: 第一,使用SqlConnection对象连接数据库: 第二,建立SqlCommand对象,负责SQL语句的执行和存储过程的调 ...

  8. C# 连接和操作SQL SERVER数据库

    用C#sqlserver实现增删改查http://www.worlduc.com/blog2012.aspx?bid=730767 using System.Data;using System.Dat ...

  9. Qt 操作sql server数据库

    添加qtsql的库 连接数据库 QSqlDatabase_db = QSqlDatabase::addDatabase("QODBC"); _db.setHostName(); _ ...

随机推荐

  1. Android为TV端助力 MediaPlayer的一些使用方法简历

    这里提供一些MediaPlayer的简单方法,方便以后熟练的使用它! 1)如何获得MediaPlayer实例: 可以使用直接new的方式: MediaPlayer mp = new MediaPlay ...

  2. [Python][小知识][NO.3] Python 使用系统默认浏览器打开指定URL的网址

    1.前言 一般用到的地方: GUI交互界面下,单击某个按钮实现打开指定网址. 某帮助菜单项目,需要跳转网页显示时. O.O 某XX程序,需要植入网页弹窗广告时... 2.方法 调用 webbrowse ...

  3. zsh快捷键

    bash和zsh两种shell功能非常相似,只不过zsh的功能比bash更强大一些.这两种shell的快捷键命令也非常相似,对于常用shell的人来说,了解一些快捷键操作将会十分有益,因为使用快捷键将 ...

  4. 前后端分离djangorestframework——视图组件

    CBV与FBV CBV之前说过就是在view.py里写视图类,在序列化时用过,FBV就是常用的视图函数,两者的功能都可以实现功能,但是在restful规范方面的话,CBV更方便,FBV还要用reque ...

  5. web前端(7)—— 了解CSS样式,引入css样式的方式

    CSS 在前面大概的介绍了css,从本片博文开始,会详细的介绍它,在最开始介绍web前端时,打开百度首页,当时我提出了一个问题,为什么百度首页的输入框可以放在正中间,就是由于有css的控制,我们可以打 ...

  6. shell编程 学好内功(一)

    shell 背景 什么是shell编程 高大上的解释,往往让人摸不住头脑.一句话概括就是:shell编程就是对一堆Linux命令的逻辑化处理. 为什么要会shell编程 举个简单的例子,我们做java ...

  7. python爬虫之12306网站--车站信息查询

    python爬虫查询车站信息 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息进行处理 python爬虫查询全拼相同的车站 目录: 1.找到要查询的url 2.对信息进行分析 3.对信息 ...

  8. 【Tars】腾讯微服务框架Tars介绍

    目录 1.介绍2.设计思路3.整体架构4.平台特性1. 介绍 Tars是[基于名字服务][使用Tars协议]的高性能[RPC]开发框架,同时配套一体化的[服务治理平台],帮助个人或者企业快速的以微服务 ...

  9. ES5-ES6-ES7_字符串扩展—模板字符串

    includes(), startsWith(), endsWith() 传统上,JavaScript只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中.ES6又提供了三种新方法 ...

  10. 这些Linux命令,让你的工作事半功倍!

    这些Linux命令,让你的工作事半功倍! 最近都在和Linux打交道,感觉还不错.我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较 ...