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封装对象实现时间效果
Apr 23 Python
Python3.2中的字符串函数学习总结
Apr 23 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
Apr 22 Python
python3获取当前文件的上一级目录实例
Apr 26 Python
Flask框架web开发之零基础入门
Dec 10 Python
这可能是最好玩的python GUI入门实例(推荐)
Jul 19 Python
Python学习笔记之迭代器和生成器用法实例详解
Aug 08 Python
PyCharm更改字体和界面样式的方法步骤
Sep 27 Python
python实现tail实时查看服务器日志示例
Dec 24 Python
Python数据存储之 h5py详解
Dec 26 Python
pytorch 使用加载训练好的模型做inference
Feb 20 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
Apr 17 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 网络开发详解之远程文件包含漏洞
2010/04/25 PHP
解析dedeCMS验证码的实现代码
2013/06/07 PHP
php 模拟post_验证页面的返回状态(实例讲解)
2013/10/28 PHP
php另类上传图片的方法(PHP用Socket上传图片)
2013/10/30 PHP
浅谈php和.net的区别
2014/09/28 PHP
php数组使用规则分析
2015/02/27 PHP
laravel orm 关联条件查询代码
2019/10/21 PHP
Nigma vs Alliance BO5 第五场2.14
2021/03/10 DOTA
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
JavaScript实现找出数组中最长的连续数字序列
2014/09/03 Javascript
javascript获取当前的时间戳的方法汇总
2015/07/26 Javascript
AngularJS使用ngMessages进行表单验证
2015/12/27 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
js实现课堂随机点名系统
2019/11/21 Javascript
[01:22:10]Ti4 循环赛第二日 DK vs Empire
2014/07/11 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
python实现查询IP地址所在地
2015/03/29 Python
python uuid模块使用实例
2015/04/08 Python
Python中datetime模块参考手册
2017/01/13 Python
python读取文本中数据并转化为DataFrame的实例
2018/04/10 Python
几行Python代码爬取3000+上市公司的信息
2019/01/24 Python
python IDLE 背景以及字体大小的修改方法
2019/07/12 Python
Python 图像对比度增强的几种方法(小结)
2019/09/25 Python
30秒学会30个超实用Python代码片段【收藏版】
2019/10/15 Python
html5应用缓存_动力节点Java学院整理
2017/07/13 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
New Balance澳大利亚官网:运动鞋和健身服装
2019/02/23 全球购物
服务中心夜班服务员岗位职责
2013/11/27 职场文书
三年级学生期末评语
2014/12/26 职场文书
清明节网上祭英烈寄语2015
2015/03/04 职场文书
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
python源码剖析之PyObject详解
2021/05/18 Python
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers