最近需要使用到SQLServer数据库,之前一直使用的是MySQL数据库,我比较喜欢使用Python,之前一直使用的是pymysql作为数据库的操作工具,现在需要换成pymssql了,使用方法大概相同,查资料的过程中发现网上很多资料讲的都是部分的,这里总结了一下最近的操作,详细地给出了操作代码,相信很好看明白,希望能帮到需要的人。

下面是具体的实现:

#!usr/bin/env python
# encoding:utf-8'''
__Author__:沂水寒城
功能:使用pymssql连接SQLServer测试使用
'''import sys
import logging
import pymssqlreload(sys)
sys.setdefaultencoding("utf-8")LOG_FORMAT="%(asctime)s - %(levelname)s - %(message)s"
DATE_FORMAT="%m-%d-%Y %H:%M:%S %p"
logging.basicConfig(filename='SQLServer.log',level=logging.DEBUG,format=LOG_FORMAT,datefmt=DATE_FORMAT)#数据库的;连接配置信息
config_dict={'user':'你的用户名','password':'你的密码','host':'你要连接的host地址','database':'你要操作的数据库'}tablename='你要操作的表名'def SQLServer_connect(config_dict):'''SQLServer 数据库连接'''connect=pymssql.connect(**config_dict)print 'Connect Successful!!!'return connectdef select_k_records(config_dict,tablename,topk=100):'''从SQLServer中选取前k条记录'''try: connect=SQLServer_connect(config_dict)cursor=connect.cursor()  #统计记录数量result=[]cursor=connect.cursor() select_sql='SELECT * FROM %s' %tablenameprint 'select_sql is: ',select_sqlcursor.execute(select_sql)row=cursor.fetchone()while row:if len(result)<topk:result.append(row)row=cursor.fetchone()print rowelse:breakprint 'result: 'print resultconnect.close()cursor.close()except Exception, e:print "elect_sql error: " + efinally:connect.close()return resultdef create_new_table(config_dict,tablename):'''创建表'''connect=SQLServer_connect(config_dict)cursor=connect.cursor() #cursor.execute('select * into WZ_cgb_test from WZ_OA_PUBLICOPINION where 1=2')#省略号替换成自己的字段信息即可cursor.execute("""CREATE TABLE %s (id VARCHAR(32) NOT NULL,name VARCHAR(255) NULL,......PRIMARY KEY(id))""" %tablename)connect.commit()  #记得提交数据库事物操作connect.close()cursor.close()def delete_record(config_dict,delete_sql):'''从 SQLServer 中删除数据记录'''try:connect=SQLServer_connect(config_dict)cursor=connect.cursor()  cursor.execute(delete_sql)connect.commit()print 'DeleteOperation Finished!!!'except Exception, e:print "delete_sql error: " + efinally:connect.close()def count_records_num(config_dict,tablename):'''统计SQLServer中的数据记录数量'''try: connect=SQLServer_connect(config_dict) cursor=connect.cursor() totalNum=cursor.rowcountprint 'Total Records Number is: ',str(totalNum)connect.close()cursor.close()except Exception, e:print "count_sql error: " + efinally:connect.close()return len(result)def insert_record(config_dict,insert_sql):'''向SQLServer中插入数据'''try:connect=SQLServer_connect(config_dict)cursor=connect.cursor() cursor.execute(insert_sql)connect.commit()print 'InsertOperation Finished!!!'except Exception, e:print "insert_sql error: " + efinally:connect.close()if __name__ == "__main__":count_records_num(config_dict,tablename)#select_k_records(config_dict,tablename,topk=10)

测试结果如下:

 Connect Successful!!!select_sql is:  SELECT * FROM ******Total Records Number is:  14750[Finished in 3.3s]

其他的功能也都测试了,这里就不列举了,感兴趣的话可以试试。

数据库的连接配置换成自己的就行了。

欢迎交流。

Python数据库模块pymssql连接SQLServer数据库操作详解相关推荐

  1. pymssql mysql_Python数据库模块pymssql连接SQLServer数据库操作详解

    Python数据库模块pymssql连接SQLServer数据库操作详解 发布时间:2018-08-23 19:32, 浏览次数:720 , 标签: Python pymssql SQLServer ...

  2. office是python打开方式_Python读取word文本操作详解

    本文研究的主要问题时Python读取word文本操作,分享了相关概念和实现代码,具体如下. 一,docx模块 Python可以利用python-docx模块处理word文档,处理方式是面向对象的.也就 ...

  3. python excel数据处理教程pdf_python对excel操作详解.pdf

    python对excel操作详解 拟 制 人 胡张东 太仓同维电子有限公司 审 批 人 xxx 测试中心软件测试科 时 间 2013-11-04 Python对Excel操作 详解 文档摘要: 本文档 ...

  4. php读取配置文件连接mysql数据库,MySQL教程--通过配置文件连接数据库操作详解

    这篇文章主要介绍了mysql 之通过配置文件链接数据库的相关资料,主要是一个单例饿汉式的获得数据库连接方法工具类的实现,需要的朋友可以参考下 mysql 之通过配置文件链接数据库 配置文件jdbc.p ...

  5. python 去掉tab_Python使用crontab模块设置和清除定时任务操作详解

    本文实例讲述了Python使用crontab模块设置和清除定时任务操作.分享给大家供大家参考,具体如下: centos7下安装Python的pip root用户使用yum install -y pyt ...

  6. SSH远程连接原理及操作详解

    参考资料SSH登录原理_藏红的博客-CSDN博客 SSH全称是Secure Shell,SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议.SSH使用最多的是远程登录和传输文件 ...

  7. python diango 增删改查_python中关于django对数据库Mysql的增删改查操作详解

    下面小编就为大家带来一篇python django 增删改查操作 数据库Mysql.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 下面介绍一下django增删改查操作: ...

  8. mongodb添加创建修改时间_MongoDB数据库插入、更新和删除操作详解

    一.Insert操作 Insert操作是MongoDB插入数据的基本方法,对目标集合使用Insert操作,会将该文档添加到MongoDB并自动生成相应的ID键.文档结构采用类似JSON的BSON格式. ...

  9. 【MySQL】数据库中表的增删查改操作详解

    文章目录 前言 SQL的通用语法 一.表的创建与表的新增 语法 数据类型的介绍 演示 二.表的删除 语法 删整张表的语法 删记录的语法 演示 三.表的查询 查询整张表 (一)全列查询 (二)指定列查询 ...

  10. Python标准库:datetime 时间和日期模块 —— 时间的获取和操作详解

    datetime 时间和日期模块 datetime 模块提供了以简单和复杂的方式操作日期和时间的类.虽然支持日期和时间算法,但实现的重点是有效的成员提取以进行输出格式化和操作.该模块还支持可感知时区的 ...

最新文章

  1. MySQL的转义字符“\”
  2. NFS服务器主配置文件名,NFS服务器的搭建与配置
  3. php试题及答案 博客,转php面试题及我的答案(一)
  4. ip层和4层的接口实现分析
  5. java删除文件中的一行_在Linux中使用java和javac命令编译运行java文件
  6. 程序员的梗_程序员都背着大书包,里面到底装的什么?程序员们:钱、电脑.....
  7. [BZOJ4484][JSOI2015]最小表示(拓扑排序+bitset)
  8. Julia: 关于下载库时WinRPM的Bug
  9. useragent大全
  10. QThread 的使用
  11. 低代码架构,内容赋能业务的最后一块拼图?
  12. Spring Boot 网易云课堂
  13. python培训+价格上海
  14. Xilinx 7系列FPGA收发器架构之硬件设计指导(一)
  15. 【Linux】资源查看top显示信息说明|top、iftop、iotop、htop、atop工具
  16. ABAP SE54 视图簇
  17. 华为服务器gpu芯片,GPU服务器推荐
  18. Spring Security OAuth2.0认证授权知识概括
  19. 如何架设部署V2EX社区/论坛(Google App Engine版)
  20. PC电脑端常见蓝屏代码自检测与解决方案

热门文章

  1. Downloading Quest SQL Optimizer for Oracle
  2. Linux配置自建 YUM 软件存储库
  3. Linux slab分配器【转】
  4. CSS布局:图片在DIV中上下左右居中(水平和垂直都居中)
  5. app上传遇到的一些问题
  6. 最近遇到个关于接口的奇怪的问题
  7. 08Oracle Database 完整性约束
  8. 递归系列——递归树与函数记忆化
  9. JavaSE生成随机数
  10. 加入商品分类信息,考虑用户所处阶段的 图模型 推荐算法 Rws(random walk with stage)...