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 23 Python
记录Django开发心得
Jul 16 Python
简单谈谈Python中的几种常见的数据类型
Feb 10 Python
opencv实现图片模糊和锐化操作
Nov 19 Python
python re正则匹配网页中图片url地址的方法
Dec 20 Python
Python collections模块使用方法详解
Aug 28 Python
Python 实现将某一列设置为str类型
Jul 14 Python
python实现数字炸弹游戏
Jul 17 Python
python Matplotlib数据可视化(2):详解三大容器对象与常用设置
Sep 30 Python
Python内置函数及功能简介汇总
Oct 13 Python
python爬虫--selenium模块
Mar 31 Python
Python制作动态字符画的源码
Aug 04 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
Yii清理缓存的方法
2016/01/06 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
js函数般调用正则
2008/04/08 Javascript
jQuery实现原理的模拟代码 -6 代码下载
2010/08/16 Javascript
基于Jquery的动态添加控件并取值的实现代码
2010/09/24 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
js实现Form栏显示全格式时间时钟效果代码
2015/08/19 Javascript
基于jQuery实现的无刷新表格分页实例
2016/02/17 Javascript
基于socket.io+express实现多房间聊天
2016/03/17 Javascript
jQuery siblings()用法实例详解
2016/04/26 Javascript
JavaScript动态检验密码强度的实现方法
2016/11/09 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
jQuery validate 验证radio实例
2017/03/01 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
Webpack 4.x搭建react开发环境的方法步骤
2018/08/15 Javascript
JS简单判断是否在微信浏览器打开的方法示例
2019/01/08 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
2019/02/15 Javascript
js实现简单的无缝轮播效果
2020/09/05 Javascript
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
django上传图片并生成缩略图方法示例
2017/12/11 Python
flask使用session保存登录状态及拦截未登录请求代码
2018/01/19 Python
Tensorflow累加的实现案例
2020/02/05 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
Python绘制数码晶体管日期
2021/02/19 Python
毕业研究生的自我鉴定
2013/11/30 职场文书
校运会广播稿100字
2014/01/27 职场文书
2014全国两会学习心得体会1000字
2014/03/10 职场文书
大学生社会实践活动总结
2014/07/03 职场文书
小学中等生评语
2014/12/29 职场文书
利用python做表格数据处理
2021/04/13 Python
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
Django基础CBV装饰器和中间件
2022/03/22 Python
GoFrame基于性能测试得知grpool使用场景
2022/06/21 Golang