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

python调用sql数据库_Python3操作SQL Server数据库(实例讲解)相关推荐

  1. python3连接sql server数据库_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. SQL server 触发器实例讲解

    SQL触发器实例讲解(本文是来自百度文库) 定义: 何为触发器?在SQL Server里面也就是对某一个表的一定的操作,触发某种条件,从而执行的一段程序.触发器是一个特殊的存储过程.        常 ...

  6. hadooppythonjava_通过jpype实现python调用Hadoop Java Client操作HDFS

    通过python操作HDFS有非常好用的模块hdfs3 ,其底层依赖c++模块libhdfs3,起初libhdfs3不支持acl权限校验对于设置了acl权限的目录和文件会报NOTFOUND错误(现已解 ...

  7. java对数据库的操作_java对数据库的操作(jdbc)

    Java通过JDBC对数据库的连接操作其通用操作为: String username; String password; String databaseURL; Class.forName(" ...

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

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

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

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

最新文章

  1. 谈谈Ext JS的组件——布局的使用方法续一
  2. 少儿编程:玩游戏不如设计游戏!
  3. 重绘Winform窗体
  4. UrlEncode编码算法
  5. c 中连接mysql登录不成功_数据库连接失败的原因分析及解决办法 | 学步园
  6. 对最大流算法Ford_Fulkerson的研究与理解(二)
  7. php调用API支付接口(转自刘68)
  8. 力扣401.二进制手表
  9. 自动化测试和测试开发的区别?培训学哪个更好?
  10. 蓝桥杯 基础练习 Huffuman树
  11. 马哥python培训如何
  12. 【ATSC】【OTT】Netflix将作为美国有线机顶盒界面中的一个频道
  13. 电池SOC仿真系列-基于GA-BP神经网络的电池SOC估算方法
  14. 推荐 10 个好用的 JavaScript 代码压缩工具
  15. 关于头条上需要总结的文章
  16. java lru笔试题,2016年头条校招笔试(LRU算法)
  17. 涉黄网站爆四大生财链:站长月入近两万
  18. 完美卸载SQL Server 2008 R2 的方法,适合所有问题
  19. 计算机音乐数字乐谱牵丝戏,天谕手游牵丝戏乐谱代码分享
  20. 三国志战略版:武将分析_乐进

热门文章

  1. Git(1)-- Win10 安装 Git 详细教程(超详细纯小白教程)
  2. 基于Python3-Pygame的坦克大战小游戏
  3. Python运行时报错 ModuleNotFoundError: No module named ‘exceptions‘
  4. Mac安装apktool/dex2jar/jd-gui逆向工具
  5. 应该怎样学习新知识?
  6. 无线网卡的Master,Managed,ad-hoc,monitor模式
  7. Abseil之Return Policy
  8. 人脸方向学习(十):Face Detection-MobileNet_SSD解读
  9. windows10(专业版和家庭版)---禁止自动更新系统
  10. koa2 导出excel表格设置样式_一调整Excel表格的行列宽度,图片又得重新调整?点这个设置就行...