python3连接sql server数据库_Python3操作SQL Server数据库(实例讲解)
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数据库(实例讲解)相关推荐
- python调用sql数据库_Python3操作SQL Server数据库(实例讲解)
1.前言 前面学完了SQL Server的基本语法,接下来学习如何在程序中使用sql,毕竟不能在程序中使用的话,实用性就不那么大了. 2.最基本的SQL查询语句 python是使用pymssql这个模 ...
- mysql 事务sqlserver_SQLServer数据库:事务与隔离级别实例讲解
本文主要向大家介绍了SQLServer数据库:事务与隔离级别实例讲解,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助. 上班途中,你在一处ATM机前停了下来.正当你在敲入密码 ...
- mysql查询主键sql语句_MySQL数据库-表操作-SQL语句(一)
1. 数据库操作与存储引擎 1.1 数据库和数据库对象 数据库对象:存储,管理和使用数据的不同结构形式,如:表.视图.存储过程.函数.触发器.事件等. 数据库:存储数据库对象的容器. 数据库分两种 ...
- python达梦数据库_python 操作达 梦数据库
python 达梦数据库操作流程 连接数据库 dm.connect( ... ) 获取游标 dm_conn.cursor() 编写SQL语句 sql_str 执行SQL语句 dm_cursor.exe ...
- oracle跨数据库用户操作,ORACLE跨数据库操作,DBLINK的使用
ORACLE跨数据库操作,DBLINK的使用 前几天帮一个朋友弄ORACLE跨数据库的操作,共享下具体的操作流程: 一.不同IP的数据库(DBLINK) 本地数据库ip 10.56.7.26 远程数据 ...
- mysql数据库导入操作_mysql 导入数据库 命令操作
mysql -uroot -D数据库名 1. 导入数据到数据库中得某个表 mysql -uroot -D数据库名 表名 D:\APMServ5.2.6\MySQL5.1\bin>mysqldum ...
- python3 next_对Python 3.2 迭代器的next函数实例讲解
在python中,使用iter函数可以获得有序聚合类型的迭代器,我个人将迭代器理解为带有next指针的单向链表,获取到的迭代器为链表的表头,表头内容为空,next指针指向有序聚合类型的第一个元素.在访 ...
- Oracle数据库常用操作sql语句
1.--建立表空间 create tablespace cmdb_db datafile '\home\cmdb_11.dbf' size 100m autoextend on next 50m ex ...
- 怎么删除python3.7注册表内容_python3操作注册表的方法(Url protocol)
使用python操作注册表的方法最近学习了一下,现在做一下笔记,由于对Python语言的使用还不是很熟练,所以写不出高大上的结构,但是解决问题搓搓有余了. 说道注册表顺便也说一说环境变量的修改(放下下 ...
最新文章
- 原生ajax+php上传图片的简单实现
- python语法面试题_Python语法面试题
- hybriddb mysql移植_HybridDB for MySQL 实现在线与离线数据分离的实践
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
- 图解手动全面检查管理本机端口
- CodeForces - 1348C Phoenix and Distribution(思维)
- 详解Vue中watch的高级用法
- 81. 搜索旋转排序数组 II---Leecode----java
- 优达学城深度学习之一——Anaconda
- Android系统编译原理
- 什么是域名,域名的购买流程是什么
- 熊出没机器人光头强_《熊出没》里的温馨时刻,原来光头强和熊大熊二的关系也能这么好...
- 闲的无聊写了个很(wu)有(liao)意(dao)思(bao)的程序
- 经典逻辑推理题(答案)
- 混合现实开发教程unity2017
- 【学习笔记】无限极分类学习
- 洛谷 P4720 【模板】扩展卢卡斯定理/exLucas
- [NameError]: name ‘F’ is not defined
- 支持向量机与支持向量回归(support vector machine and support vector regression)
- Linux下CP命令的使用!