Python3操作SQL Server数据库(实例讲解)


Posted in Python onOctober 21, 2017

1.前言

前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了。

2.最基本的SQL查询语句

python是使用pymssql这个模块来操作SQL Server数据库的,所有需要先安装pymssql。

这个直接在命令行里输入pip install pymssql安装就行了

然后还要配置好自己本地的SQL Server数据库,进入Microsoft SQL Server Management Studio中可以进行设置。如果你选择的是使用Windows身份验证的方式的话,要改成SQL验证方式才行。这个网上教程很多,搜索一下就出来了。

3.简单测试语句

import pymssql

conn = pymssql.connect(host='127.0.0.1',
            user='sa',
            password='123',
            database='SQLTest',
            charset='utf8')

#查看连接是否成功
cursor = conn.cursor()
sql = 'select * from student'
cursor.execute(sql)
#用一个rs变量获取数据
rs = cursor.fetchall()

print(rs)

打开IDLE,新建python程序:

运行结果:

Python3操作SQL Server数据库(实例讲解)

4.提交与回滚

在python中,在操作完 "增删改" 之后,还需要执行commit()才能真正提交代码执行,如果出意外的话就执行rollback()回滚到之前的状态,相当于之前的操作都白做了,这样也保护了数据库。

所以建议写程序这样写:

try:
  conn = pymssql.connect(host='127.0.0.1',
              user='sa',
              password='123',
              database='SQLTest',
              charset='utf8')
  cursor = conn.cursor()
  sql = 'insert into student values('0001', '张三', 18, '男', '文学院')'
  cursor.execute(sql)
  conn.commit()
except Exception as ex:
  conn.rollback()
  raise ex
finally:
  conn.close()

大家可以试一试将conn.commit()删去,然后看看数据库是否有变化。

5.封装成类的写法

'''
  TestDB类
  功能:测试数据库的类写法
  作者:PyLearn
  博客: http://www.cnblogs.com/PyLearn/
  最后修改日期: 2017/10/17
'''
import pymssql

class TestDB():

  def __init__(self):
    try:
      self.conn = pymssql.connect(host='127.0.0.1',
                    user='sa',
                    password='123',
                    database='SQLTest',
                    charset='utf8')
      self.cursor = self.conn.cursor()
      self.sql = "insert into student values('0001', '张三', 18, '男', '文学院')"
      self.cursor.execute(self.sql)
      self.conn.commit()
    except Exception as ex:
      self.conn.rollback()
      raise ex
    finally:
      self.conn.close()

if __name__ == '__main__':
  test_DB = TestDB()

以上这篇Python3操作SQL Server数据库(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python函数中定义参数的四种方式
Nov 30 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
用Python操作字符串之rindex()方法的使用
May 19 Python
python结合selenium获取XX省交通违章数据的实现思路及代码
Jun 26 Python
Python探索之爬取电商售卖信息代码示例
Oct 27 Python
Python流程控制 if else实现解析
Sep 02 Python
python编写一个会算账的脚本的示例代码
Jun 02 Python
Django+RestFramework API接口及接口文档并返回json数据操作
Jul 12 Python
如何真正的了解python装饰器
Aug 14 Python
Python环境使用OpenCV检测人脸实现教程
Oct 19 Python
Python可视化工具如何实现动态图表
Oct 23 Python
Python 如何将integer转化为罗马数(3999以内)
Jun 05 Python
Python3实现简单可学习的手写体识别(实例讲解)
Oct 21 #Python
python虚拟环境virtualenv的使用教程
Oct 20 #Python
Python环境搭建之OpenCV的步骤方法
Oct 20 #Python
详解如何用OpenCV + Python 实现人脸识别
Oct 20 #Python
python中的计时器timeit的使用方法
Oct 20 #Python
浅谈Python peewee 使用经验
Oct 20 #Python
Python 获得13位unix时间戳的方法
Oct 20 #Python
You might like
利用js调用后台php进行数据处理原码
2006/10/09 PHP
php访问查询mysql数据的三种方法
2006/10/09 PHP
上传文件先创建目录 再上传到目录里面去
2010/12/29 PHP
php验证码的制作思路和实现方法
2015/11/12 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
Cookie 小记
2010/04/01 Javascript
contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2011/09/13 Javascript
jQuery关键词说明插件cluetip使用指南
2015/04/21 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
基于原生js淡入淡出函数封装(兼容IE)
2016/10/20 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
JavaScript递归算法生成树形菜单
2017/08/15 Javascript
angular项目中bootstrap-datetimepicker时间插件的使用示例
2018/03/15 Javascript
jQuery简单判断值是否存在于数组中的方法示例
2018/04/17 jQuery
react native基于FlatList下拉刷新上拉加载实现代码示例
2018/09/30 Javascript
微信小程序实现分享朋友圈的图片功能示例
2019/01/18 Javascript
浅谈Vuex注入Vue生命周期的过程
2019/05/20 Javascript
Python 除法小技巧
2008/09/06 Python
Python 错误和异常小结
2013/10/09 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
分享Python字符串关键点
2015/12/13 Python
Face++ API实现手势识别系统设计
2018/11/21 Python
python实现简单加密解密机制
2019/03/19 Python
python滑块验证码的破解实现
2019/11/10 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
Python实现粒子群算法的示例
2021/02/14 Python
一套SQL笔试题
2016/08/14 面试题
高中军训感想300字
2014/03/04 职场文书
软件售后服务方案
2014/05/29 职场文书
设计大赛策划方案
2014/06/13 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
鸟的天堂导游词
2015/01/31 职场文书
护士个人总结范文
2015/02/13 职场文书
2016年员工年度考核评语
2015/12/02 职场文书
Python 数据可视化工具 Pyecharts 安装及应用
2022/04/20 Python