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在线运行代码助手
Jul 15 Python
Python脚本处理空格的方法
Aug 08 Python
python中format()函数的简单使用教程
Mar 14 Python
python os用法总结
Jun 08 Python
NLTK 3.2.4 环境搭建教程
Sep 19 Python
python实现电子书翻页小程序
Jul 23 Python
Python爬虫之urllib基础用法教程
Oct 12 Python
Python递归及尾递归优化操作实例分析
Feb 01 Python
Python爬虫教程知识点总结
Oct 19 Python
Python批量删除mysql中千万级大量数据的脚本分享
Dec 03 Python
用Python实现童年贪吃蛇小游戏功能的实例代码
Dec 07 Python
python引入其他文件夹下的py文件具体方法
May 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
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
PHP中date与gmdate的区别及默认时区设置
2014/05/12 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
jQuery 白痴级入门教程
2009/11/11 Javascript
JQuery 常用操作代码
2010/03/14 Javascript
javascript常用方法汇总
2014/12/02 Javascript
jQuery中first()方法用法实例
2015/01/06 Javascript
JS实现点击上移下移LI行数据的方法
2015/08/05 Javascript
javascript用正则表达式过滤空格的实现代码
2016/06/14 Javascript
js html css实现复选框全选与反选
2016/10/09 Javascript
angular1配合gulp和bower的使用教程
2018/01/19 Javascript
JS实现520 表白简单代码
2018/05/21 Javascript
jquery实现掷骰子小游戏
2019/10/24 jQuery
Vuex实现数据增加和删除功能
2019/11/11 Javascript
基于JavaScript实现表格隔行换色
2020/05/08 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
用Python编写一个基于终端的实现翻译的脚本
2015/04/24 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
浅谈关于Python3中venv虚拟环境
2018/08/01 Python
python实时获取外部程序输出结果的方法
2019/01/12 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
基于python实现雪花算法过程详解
2019/11/16 Python
python实现一个猜拳游戏
2020/04/05 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
2021/01/05 Python
linux系统下pip升级报错的解决方法
2021/01/31 Python
韩国江南富人区高端时尚百货商场:Galleria(格乐丽雅)
2018/03/27 全球购物
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
2014乡镇机关党员个人对照检查材料思想汇报
2014/10/09 职场文书
python图像处理基本操作总结(PIL库、Matplotlib及Numpy)
2021/06/08 Python
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL