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 实现简单的电话本功能
Aug 09 Python
Python按行读取文件的实现方法【小文件和大文件读取】
Sep 19 Python
Python利用Beautiful Soup模块修改内容方法示例
Mar 27 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
Python实现调用另一个路径下py文件中的函数方法总结
Jun 07 Python
代码实例讲解python3的编码问题
Jul 08 Python
python多进程(加入进程池)操作常见案例
Oct 21 Python
已安装tensorflow-gpu,但keras无法使用GPU加速的解决
Feb 07 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
python自动提取文本中的时间(包含中文日期)
Aug 31 Python
python hmac模块验证客户端的合法性
Nov 07 Python
pycharm代码删除恢复的方法
Jun 26 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
PHP中异常处理的一些方法整理
2015/07/03 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
css动画效果之animation的常用样式
2021/03/09 HTML / CSS
利用javascript中的call实现继承
2007/01/22 Javascript
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
js复制网页内容并兼容各主流浏览器的代码
2013/12/17 Javascript
网页中表单按回车就自动提交的问题的解决方案
2014/11/03 Javascript
JavaScript中rem布局在react中的应用
2015/12/09 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
react-router实现跳转传值的方法示例
2017/05/27 Javascript
ES6中箭头函数的定义与调用方式详解
2017/06/02 Javascript
在Vue项目中使用snapshot测试的具体使用
2019/04/16 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
详解Vue 的异常处理机制
2020/11/30 Vue.js
python通过urllib2爬网页上种子下载示例
2014/02/24 Python
python实现员工管理系统
2018/01/11 Python
python解析html提取数据,并生成word文档实例解析
2018/01/22 Python
python中dir()与__dict__属性的区别浅析
2018/12/10 Python
彻底搞懂 python 中文乱码问题(深入分析)
2020/02/28 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Python同时处理多个异常的方法
2020/07/28 Python
CSS3与动画有关的属性transition、animation、transform对比(史上最全版)
2017/08/18 HTML / CSS
美国大型的健身社区和补充商店:Bodybuilding.com
2016/09/06 全球购物
PHP如何去执行一个SQL语句
2016/03/05 面试题
如何实现jdbc性能优化
2012/07/30 面试题
餐饮管理自我介绍信
2014/01/15 职场文书
新学期开学寄语
2014/01/18 职场文书
2014年十一国庆向国旗敬礼寄语
2014/04/11 职场文书
运动会广播稿200字(10篇)
2014/10/12 职场文书
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
亮剑观后感500字
2015/06/05 职场文书
2016年领导干部正风肃纪心得体会
2015/10/09 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
导游词之开封禹王台风景区
2019/12/02 职场文书
js实现自动锁屏功能
2021/06/02 Javascript