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中的迭代器、生成器与列表解析用法
Mar 20 Python
轻量级的Web框架Flask 中模块化应用的实现
Sep 11 Python
利用Pandas 创建空的DataFrame方法
Apr 08 Python
对matplotlib改变colorbar位置和方向的方法详解
Dec 13 Python
Python制作微信好友背景墙教程(附完整代码)
Jul 17 Python
np.newaxis 实现为 numpy.ndarray(多维数组)增加一个轴
Nov 30 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
浅谈python锁与死锁问题
Aug 14 Python
python中的插入排序的简单用法
Jan 19 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
python正则表达式re.search()的基本使用教程
May 21 Python
一文搞懂Python Sklearn库使用
Aug 23 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使用exec shell命令注入的方法讲解
2013/11/12 PHP
ThinkPHP中的系统常量和预定义常量集合
2014/07/01 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
Laravel最佳分割路由文件(routes.php)的方式
2016/08/04 PHP
PHP MVC框架中类的自动加载机制实例分析
2019/09/18 PHP
JavaScript 对话框和状态栏使用说明
2009/10/25 Javascript
JS小框架 fly javascript framework
2009/11/26 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
2013/03/22 Javascript
Javascript实现简单的富文本编辑器附演示
2014/06/16 Javascript
使用jQuery实现图片遮罩半透明坠落遮挡
2015/03/16 Javascript
jQuery EasyUI菜单与按钮详解
2016/07/13 Javascript
BootStrap 实现各种样式的进度条效果
2016/12/07 Javascript
获取当前月(季度/年)的最后一天(set相关操作及应用)
2016/12/27 Javascript
node.js操作mongodb简单示例分享
2017/05/25 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
bootstrap select2插件用ajax来获取和显示数据的实例
2018/08/09 Javascript
vue解决弹出蒙层滑动穿透问题的方法
2018/09/22 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
js事件触发操作实例分析
2019/06/21 Javascript
python2.7 mayavi 安装图文教程(推荐)
2017/06/22 Python
Django 多环境配置详解
2019/05/14 Python
python Django 反向访问器的外键冲突解决
2020/05/20 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
对pytorch中x = x.view(x.size(0), -1) 的理解说明
2021/03/03 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
html5 Canvas画图教程(4)—未闭合的路径及渐变色的填充方法
2013/01/09 HTML / CSS
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
生物化学研究助理员求职信
2013/10/09 职场文书
写给老师的表扬信
2014/01/21 职场文书
《金子》教学反思
2014/04/13 职场文书
“三支一扶”支教教师思想汇报
2014/09/13 职场文书
给老婆的道歉信
2015/01/20 职场文书
驾驶员管理制度范本
2015/08/06 职场文书
JavaScript组合继承详解
2021/11/07 Javascript
与Windows10相比Windows11有哪些改进?值不值得升级?
2021/11/21 数码科技