安装开发环境

要进行SQLServer的开发,首先需要在本机上安装SQLServer,建立本机开发环境。可以从微软官网上下载类似cn_sql_server_2012_enterprise_edition_with_sp1_x86_x64_dvd_1234493.iso文件,可以直接双击安装,安装过程极为复杂,对于习惯mysql的用户来说可以说是难以想象。历尽千辛苦安装之后,就可以启动SQL Server Management Studio来进行数据库管理了。

安装所需库

用python操作SQLServer数据库,需要安装pymssql库。直接使用pip install pymssql会提示需要visual studio 2014 build tools,而且只能是这个版本,高版本的都不行。所以最简单的方法是下载whl文件,直接安装。
到python库网站:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pymssql,找到自己平台对应的文件,下载到本地任意一个目录,以我的为例为pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl,在该目录下运行如下命令:
pip install pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl
安装成功后,可以直接删除pymssql‑2.1.4.dev5‑cp36‑cp36m‑win_amd64.whl文件,因为python已经将其拷贝到系统库文件目录下了。

创建数据库

首先将线上数据库备份为bak文件,下载到本机上来。
在SQL Server Management Studio中,在左侧菜单栏中选择“数据库”,点击右键选反择“还原数据库”,进行如下图所示操作:

选择确定就可以在本地建立一个完整的数据库了。
在SQLServer Management Studio中,建立一个新数据库连接,输入新建数据库用户名和密码,如果可以成功连接,则开发环境就准备成功了。

数据库操作

对于数据库操作,首先需要建立数据库连接,然后是执行增删改查操作,我们这里仅以建立数据库连接和发送一条简单的查询请求为例。首先是建立数据库连接,代码如下所示:

import pymssqldef get_connection():conn = pymssql.connect(server='SKY-20180726HXA', user='dbo_lejiao', password='123456', database='app_hw_read')return conndef close_connection(conn):conn.close()

数据库连接建立好之后,就可以进行增删改查操作了,这里以查询为例,并在SQL语句中有两个参数,采用SQL预编译方式,这样就不用考虑SQL注入攻击的问题了,代码如下所示:

def execute_query(sql, params):conn = get_connection()cursor = conn.cursor()cursor.execute(sql, params)rows = cursor.fetchall()return rows

如上所示,SQLServer采用游标来执行SQL语句,在执行SQL语句时,可以指定参数的值params,params的类型为元组,如果是一次性执行多条语句,例如一次性插入100条记录,可以将100条记录的参数作为元组数组形式传入,如下所示:

cursor.executemany("INSERT INTO persons VALUES (%d, %s, %s)",[(1, 'John Smith', 'John Doe'),(2, 'Jane Doe', 'Joe Dog'),(3, 'Mike T.', 'Sarah H.')])

调用代码如下所示:

import model.m_mssql as dbif __name__ == '__main__':args = {}print('Microsoft SQLServer')conn = db.get_connection()print(conn)sql = 'select resid, resindex, remark from dbo.Res_warn where resindex=%d or resindex=%d'index1 = 0index2 = 3params = (index1, index2)rows = db.execute_query(sql, params)for row in rows:print('#### {0}--{1}--{2}'.format(row[0], row[1], row[2]))db.close_connection(conn)print('mssql is ok')

其中model/m_mssql.py文件中的内容为上面我们列出的代码。

Python操作SQLServer相关推荐

  1. python操作sqlserver如何判断删除的数据不存在_Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法...

    本文实例讲述了Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法.分享给大家供大家参考,具体如下: 前言: 想把QQ日志爬虫(Python)爬下来的日志保存到 MongoD ...

  2. python调用pymssql包操作SqlServer数据库

      之前的文章介绍了python抓取网页数据并将数据保存到本地excel文件,后续可以将数据保存到数据库(SqlServer.mysql等)中,本文学习python中操作SqlServer数据库的基本 ...

  3. Python操作MSSQL

    Python连接SQL Server数据库 - pymssql使用基础:https://www.cnblogs.com/baiyangcao/p/pymssql_basic.html 廖雪峰官网 之 ...

  4. 21天学Python --- 打卡4:Python操作Mysql,Sqlserver

    21天学Python --- 打卡4:Python操作Mysql,Sqlserver 1.Execute Query 1.1 Install Plugins 1.2 Conn Parameters 1 ...

  5. python连接并简单操作SQLserver数据库

    python连接并简单操作SQLserver数据库 实验环境: python版本3.9 Python 3.9.7 (tags/v3.9.7:1016ef3, Aug 30 2021, 20:19:38 ...

  6. nodejs操作sqlserver数据_pyspark操作MySQL、SQLServer数据库进行数据处理操作

    欢迎访问本人的CSDN博客[Together_CZ],我是沂水寒城. https://yishuihancheng.blog.csdn.net 在大数据处理领域里面,Hadoop和spark可以说是最 ...

  7. python 查询sqlserver 视图_SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例)...

    原标题:SQL Server 2017 数据库教与学(教学大纲,含Python+SQL Server案例) 本书提供Python+SQL Server案例 SQL Server教学大纲 一.课程的性质 ...

  8. python进阶与数据操控_零基础机器学习Python进阶:Python操作MySql

    阅读文本大概需要 6 分钟 前言 基础写了十篇,以后会继续更,这是第二篇进阶,文末会放上链接,进阶分成另一个系列,柠檬有时间会整理好菜单栏让大家更方便的阅读基础和进阶,柠檬会把自己在当时做的项目写到进 ...

  9. python利用表格中的某一个列_python取excel表格第一列数据?python操作excel,使用xlrd模块,获取某一列数据的语句为...

    用Python修改excel中一列数据 可以使用pandas库,先读取excel文件,然后使用pandas库来修改一列,然后写入文件即可. 怎样用python,读取excel中的一列数据 sheet. ...

最新文章

  1. 逆向分析c++ vector向量
  2. 解决dubbo-admin管控台不能显示服务的问题
  3. vsim生成VCD波形文件(verilog)
  4. APPSERV下安装pear db和auth
  5. matlab求矩阵中值函数,matlab在一个函数里,如何调用另一个函数里面求得的雅可比矩阵并赋值?...
  6. 如何在不安装 Microsoft Office 的情况下生成 Excel 文件?
  7. java jna调用dll文件_关于java jna调用dll的问题
  8. 转自知乎-我见过最通俗易懂的KMP算法详解
  9. 机器学习中的数学(二)--梯度下降法
  10. Silverlight动画基础三:动画与向量-模拟重力效果
  11. Java模拟HTTP的Get和Post请求(增强)
  12. 计算机用户在使用计算机文件时6,201606-计算机基础选择题(含答案)(6页)-原创力文档...
  13. AS3的事件模型 .
  14. SCCM2012系列之十二,SCCM2012部署操作系统
  15. 2017第九届中国云计算大会精彩日程曝光
  16. 电脑用电量_诡异!北山一空置房子用电量噌噌上涨,工作人员打开门一看……_媒体_澎湃新闻...
  17. (附源码)计算机毕业设计ssm公立医院绩效考核系统
  18. Slurm如何管理和使用节点资源
  19. 小米路由器显示DNS服务器设置错误,小米路由器dns地址怎么设置
  20. Java Rasp技术浅析

热门文章

  1. 【学习方法】学习不好沉迷手机,该如何自救?3个高效学习方法,让你破除打压式管教的恶果!
  2. Qgis 加载在线地图:如高德、天地图、OSM等
  3. win7计算机名改成大写,图文解读win7系统excel数字小写金额转换成汉字大写金额的措施...
  4. vue-cropper裁剪网络照片跨域
  5. 香港科技大学(广州)信息枢纽手册
  6. 建设智能温室大棚的条件
  7. html动画变圆,HTML5 canvas制作圆形的万花筒动画效果
  8. OpenCV——LCC(Local Color Correction)的Python复现
  9. vue----用谷歌浏览器解决跨域问题
  10. 挑战深度学习 《深度森林:探索深度神经网络以外的方法》