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程序:

运行结果:

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数据库(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

时间: 2017-10-19

python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)相关推荐

  1. python调用sql数据库_Python3操作SQL Server数据库(实例讲解)

    1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...

  2. mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解

    本文主要向大家介绍了SQLServer数据库:事务与隔离级别实例讲解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 上班途中,你在一处ATM机前停了下来.正当你在敲入密码 ...

  3. mysql查询主键sql语句_MySQL数据库-表操作-SQL语句(一)

    1. 数据库操作与存储引擎 1.1   数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...

  4. python达梦数据库_python 操作达 梦数据库

    python 达梦数据库操作流程 连接数据库 dm.connect( ... ) 获取游标 dm_conn.cursor() 编写SQL语句 sql_str 执行SQL语句 dm_cursor.exe ...

  5. oracle跨数据库用户操作,ORACLE跨数据库操作,DBLINK的使用

    ORACLE跨数据库操作,DBLINK的使用 前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程: 一.不同IP的数据库(DBLINK) 本地数据库ip 10.56.7.26 远程数据 ...

  6. mysql数据库导入操作_mysql 导入数据库 命令操作

    mysql -uroot -D数据库名 1. 导入数据到数据库中得某个表 mysql -uroot -D数据库名 表名 D:\APMServ5.2.6\MySQL5.1\bin>mysqldum ...

  7. python3 next_对Python 3.2 迭代器的next函数实例讲解

    在python中,使用iter函数可以获得有序聚合类型的迭代器,我个人将迭代器理解为带有next指针的单向链表,获取到的迭代器为链表的表头,表头内容为空,next指针指向有序聚合类型的第一个元素.在访 ...

  8. Oracle数据库常用操作sql语句

    1.--建立表空间 create tablespace cmdb_db datafile '\home\cmdb_11.dbf' size 100m autoextend on next 50m ex ...

  9. 怎么删除python3.7注册表内容_python3操作注册表的方法(Url protocol)

    使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下 ...

最新文章

  1. 原生ajax+php上传图片的简单实现
  2. python语法面试题_Python语法面试题
  3. hybriddb mysql移植_HybridDB for MySQL 实现在线与离线数据分离的实践
  4. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
  5. 图解手动全面检查管理本机端口
  6. CodeForces - 1348C Phoenix and Distribution(思维)
  7. 详解Vue中watch的高级用法
  8. 81. 搜索旋转排序数组 II---Leecode----java
  9. 优达学城深度学习之一——Anaconda
  10. Android系统编译原理
  11. 什么是域名,域名的购买流程是什么
  12. 熊出没机器人光头强_《熊出没》里的温馨时刻,原来光头强和熊大熊二的关系也能这么好...
  13. 闲的无聊写了个很(wu)有(liao)意(dao)思(bao)的程序
  14. 经典逻辑推理题(答案)
  15. 混合现实开发教程unity2017
  16. 【学习笔记】无限极分类学习
  17. 洛谷 P4720 【模板】扩展卢卡斯定理/exLucas
  18. [NameError]: name ‘F’ is not defined
  19. 支持向量机与支持向量回归(support vector machine and support vector regression)
  20. Linux下CP命令的使用!

热门文章

  1. React Native基础入门教程:初步使用Flexbox布局
  2. SQL 查询逻辑处理顺序
  3. ionic ----$ionicPlatform 操作返回按钮
  4. Java 中long类型转换成为int类型时可能会出错的地方
  5. 网络推广人员需要掌握的九大查询工具
  6. 【Python】洛谷 P1175_表达式的转换(逆波兰式、中缀表达式、后缀表达式、栈)
  7. golang变量作用域
  8. 使用Maven 实现打包生成一个可执行jar包:附详细配置解释说明
  9. containerd镜像导入import和push命令 gzip压缩解压缩命令
  10. Go gin文件上传