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中WSGI是什么,Python应用WSGI详解
Nov 24 Python
python删除文本中行数标签的方法
May 31 Python
python基于gevent实现并发下载器代码实例
Nov 01 Python
Python3常用内置方法代码实例
Nov 18 Python
pytorch 求网络模型参数实例
Dec 30 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 Python
利用python在excel中画图的实现方法
Mar 17 Python
Python3将ipa包中的文件按大小排序
Apr 17 Python
jupyter 使用Pillow包显示图像时inline显示方式
Apr 24 Python
在前女友婚礼上,用Python破解了现场的WIFI还把名称改成了
May 28 Python
pytorch 6 batch_train 批训练操作
May 28 Python
Matplotlib绘制条形图的方法你知道吗
Mar 21 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 PDO函数库详解
2010/04/27 PHP
php实现的三个常用加密解密功能函数示例
2017/11/06 PHP
浅谈laravel5.5 belongsToMany自身的正确用法
2019/10/17 PHP
php中try catch捕获异常实例详解
2020/08/06 PHP
一个cssQuery对象 javascript脚本实现代码
2009/07/21 Javascript
关于Ext中form移除textfield方法:hide(),setVisible(false),remove()
2010/12/02 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
JS基于Ajax实现的网页Loading效果代码
2015/10/27 Javascript
AngularJS入门教程之ng-checked 指令详解
2016/08/01 Javascript
jQuery实现的表头固定效果实例【附完整demo源码下载】
2016/08/01 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
xmlplus组件设计系列之列表(4)
2017/04/26 Javascript
各种选择框jQuery的选中方法(实例讲解)
2017/06/27 jQuery
javascript编程开发中取色器及封装$函数用法示例
2017/08/09 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
微信小程序按钮点击跳转页面详解
2019/05/06 Javascript
vue 解决遍历对象显示的顺序不对问题
2019/11/07 Javascript
JS实现滑动插件
2020/01/15 Javascript
sharp.js安装过程中遇到的问题总结
2020/04/02 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
[01:32:10]NAVI vs VG Supermajor 败者组 BO3 第一场 6.5
2018/06/06 DOTA
python字符串对其居中显示的方法
2015/07/11 Python
Python编程实现蚁群算法详解
2017/11/13 Python
Python3 操作符重载方法示例
2017/11/23 Python
详解用Python实现自动化监控远程服务器
2019/05/18 Python
Pytorch 实现focal_loss 多类别和二分类示例
2020/01/14 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
日本航空官方网站:JAL
2019/06/19 全球购物
精美的手工家居和生活用品:Nkuku
2019/11/01 全球购物
linux下进程间通信的方式
2014/12/23 面试题
公司活动方案范文
2014/03/06 职场文书
十佳家长事迹材料
2014/08/26 职场文书
2014社区健康教育工作总结
2014/12/16 职场文书
学生会个人总结范文
2015/02/15 职场文书
基层组织建设年活动总结
2015/05/09 职场文书
信息技术国培研修日志
2015/11/13 职场文书