python db api下载_Python DB API

本文详细介绍了Python DB-API 2.0规范,包括连接对象、cursor的使用、数据库操作流程,以及模块接口的定义。重点讲解了如何通过模块API进行数据库连接、执行SQL和错误处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Python DB-API 2.0规范 请参考 python PEP-0249.

1、Python DB API包含:

数据库连接对象:connection

数据库交互对象:cursor

数据库异常类:exceptions

2、开发数据库程序流程:

1)创建connection对象,获取cursor

2)使用cursor执行SQL

3)使用cursor获取数据、判断执行状态

4)提交事务 或者 回滚事务

使用Python DB AP访问数据库流程:

开始------->创建数据库连接connection------>获取cursor------>处理数据(增删查改)------->关闭cursor------>关闭connection------>结束

3、模块接口(Module Interface):

数据库的访问是通过连接对象(connection objects)来实现的。程序模块中必须提供以下形式的连接对象构造函数:

connect(parameters...)

数据库连接对象的构造函数,返回值为Connection对象实例。 由于目的数据库不同,函数接收数量不等的一些参数。

模块中必须定义下面这些模块级的变量:

apilevel:字符串常量,表明支持的DB API版本。

目前只允许取值'1.0'和'2.0'。如果没有定义本常量,默认为DB-API 1.0。

threadsafety:整数常量,表明模块支持的线程安全级别,可能的值为:

0 线程不安全,线程不能共享模块。

1 线程可以共享模块,但是不能共享连接对象(connections)。

2 线程可以共享模块和连接对象。

3 线程安全,线程间可以共享模块、连接对象以及游标对象(module,connections,cursors)。

上文中共享的意思是两个线程在没有使用互斥信号(mutex semaphore)锁的情况下, 同时使用一个资源。

要注意的是,你并不总能使用互斥信号来确保一个外部资源线程安全,这是因为外部资源很有可能依赖于一

个全局变量或是其他的外部资源,然而这些是你不能控制的。

paramstyle:字符串常量声明模块使用的SQL语句中的参数引出方式。可能的取值如下[2]:

'qmark' 问号方式,例如:'...WHERE name=?'

'numeric' 序数方式,例如:'...WHERE name=:1'

'named' 命名方式,例如:'...WHERE name=:name'

'format' 通用方式(ANSI C printf format codes)例如:'...WHERE name=%s'

'pyformat' python扩展方式(Python extended format codes),例如:'...WHERE name=%(name)s'

模块中应该按照下面所阐述的错误类别和层次关系来处理各种错误信息:

错误类的层次关系:

StandardError

|__Warning

|__Error

|__InterfaceError

|__DatabaseError

|__DataError

|__OperationalError

|__IntegrityError

|__InternalError

|__ProgrammingError

|__NotSupportedError

注:这些例外(Exceptions)的值(错误信息)并没有明确的定义,但是它们应该能够给用户指出足够好的错误提示。

【参考文献】

PEP-0249 简单的中文翻译:https://blog.youkuaiyun.com/dajianshi/article/details/7482201

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值