连接具有PEP-249(Python数据库API规范v2.0)中指定的csr.close()方法:

import pyodbc

conn = pyodbc.connect('DRIVER=MySQL ODBC 5.1 driver;SERVER=localhost;DATABASE=spt;UID=who;PWD=testest')

csr = conn.cursor()

csr.close()

conn.close() #

由于csr.close()连接和游标都是上下文管理器,因此,如今将其编写为:

import pyodbc

conn = pyodbc.connect('DRIVER=MySQL ODBC 5.1 driver;SERVER=localhost;DATABASE=spt;UID=who;PWD=testest')

with conn:

crs = conn.cursor()

do_stuff

# conn.commit() will automatically be called when Python leaves the outer `with` statement

# Neither crs.close() nor conn.close() will be called upon leaving the the `with` statement!!

有关为什么不调用conn.close()的说明,请参见[https://github.com/mkleehammer/pyodbc/issues/43]。

请注意,与原始代码不同,这将导致调用csr.close()。 使用外部with语句控制何时要调用commit。

另请注意,根据文档,无论您是否使用csr.close()语句,

删除连接后(通常是超出范围时),连接会自动关闭,因此通常不需要调用[csr.close()],但可以根据需要显式关闭连接。

和类似的光标(我的重点):

删除游标时(通常是超出范围时),游标会自动关闭,因此通常不需要调用[csr.close()]。

python 数据库操作 yeild from_Python数据库连接关闭相关推荐

  1. Python数据库操作【三】—— SQLServer

    SQLServer简介 以下摘自百度百科: SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft.Sybase和Ashton-Tate三家 ...

  2. python数据库操作——连接SQLite

    python数据库操作--连接SQLite   hello!我是wakeyo_J,每天一个konwledge point,一起学python,让技术无限发散. 连接SQLite python数据库操作 ...

  3. python/数据库操作补充—模板—Session

    python/数据库操作补充-模板-Session 一.创建一个app目录 在models.py只能类进行进行创建表 1 class Foo: 2 xx= 字段(数据库数据类型) 3 字段类型 4 字 ...

  4. 27.Python数据库操作(一)【内置数据库SQLite和ORM框架SQLAlchemy】

    目录: 每篇前言: Python数据库操作(一) 1.1 SQLite 1.2 ORM框架SQLAlchemy 每篇前言:

  5. python数据库操作sqlite_Python3操作SQLite数据库

    Python3操作SQLite数据库 SQLite SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目 ...

  6. python数据库操作之pymysql模块和sqlalchemy模块(项目必备)

    pymysql pymsql是Python中操作MySQL的模块,其使用方法和MySQLdb几乎相同. 1.下载安装 pip3 install pymysql 2.操作数据库 (1).执行sql #! ...

  7. 数据分析利器Python——数据库操作(以SQLite为例)

    文章目录 一.定义 二.基本操作 操作举例 三.多表连接 一.定义 以一定方式存储,可以多个用户共享,具有尽可能小的冗余度,与应用程序彼此独立的数据集合. 二.基本操作 关于数据库的常用操作我们之前已 ...

  8. python数据库操作实例

    本篇文章主要讲解python3.9.6下数据库的链接和查询数据的方法 前置环境需要安装mysql和json两个模块,引入方式为import 模块名,不懂的朋友可以先看<python小白操作入门教 ...

  9. python数据库操作批量sql执行_使用Python批量修改数据库执行Sql文件

    由于上篇文章中批量修改了文件,有的时候数据库也需要批量修改一下,之前的做法是使用宝塔的phpMyAdmin导出一个已经修改好了的sql文件,然后依次去其他数据库里导入,效率不说极低,也算低了,且都是些 ...

最新文章

  1. 银行持续交付实战:一个单体系统足以撑起全球大项目
  2. IF、如果、Rudyard Kipling
  3. linux centos7安装git服务器配置,CentOS7 Linux环境下搭建Git仓库
  4. PyQt4编程之如何做菜单栏
  5. 上届作品回顾丨如何在 Innovation 2021 开发者大赛中脱颖而出?
  6. 用 Go 编写一个简单的 WebSocket 推送服务
  7. ECCV 2020 论文大盘点-人员重识别(ReID)篇
  8. 关于IPMI的几个问题
  9. X64-CL iPro 采集卡OC-64EO-IPRO0简介
  10. 网卡重启影响nfs吗_nfs常见问题解决办法
  11. 剑指offer_两个链表的第一个公共结点
  12. Xshell6和Xftp6 破解免安装版(亲测可用)
  13. typora mac快捷键
  14. 手机号微信检测方法案例分析
  15. java中raiseSalary_用Java编写常用的工资管理系统,目的是把每个人的工资上涨百分之五...
  16. 【预测模型】基于粒子群算法优化最小二乘支持向量机lssvm实现预测matlab源码
  17. JAVA中如何解决超卖,Redis解决库存超卖问题实例讲解
  18. 对List集合中每个对象元素按时间顺序排序
  19. WebSocket connection to ‘ws://XXX‘ failed: Error during WebSocket handshake报错
  20. oracle 取系统当前年份_Oracle 之 获取当前日期及日期格式化

热门文章

  1. 4.9 内容代价函数-深度学习第四课《卷积神经网络》-Stanford吴恩达教授
  2. STM32 基础系列教程 17 – CRC
  3. python基础6(来自廖雪峰的官方网站)
  4. android:persistent属性
  5. 「从源码中学习」面试官都不知道的Vue题目答案
  6. select函数测试
  7. 【Ansible】的python api
  8. HTML标签和CSS个人总结
  9. quick-cocos2dx在eclipse下的lua调试
  10. LINUX下邮件服务器