python基础教程_学习笔记22:数据库支持

数据库支持

python数据库API

支持sql标准的可用数据库有很多,其中多数在python中都有对应的客户端模块。

全局变量

python DB API的模块特性

变量名

用途

apilevel

所使用的python db api版本

threadsafety

模块的线程安全等级

paramstyle

sql查询中使用的参数风格

 

异常

异常

超类

描述

StandardError

 

所有异常的泛型基类

Warning

StandardError

在非致命错误发生时引发

Error

StandardError

所有错误条件的泛型超类

InterfaceError

Error

关于接口而非数据库的错误

DatabaseError

Error

与数据库相关的错误的基类

DataError

DatabaseError

与数据库相关的问题,比如值超出范围

OperationalError

DatabaseError

数据库内部操作错误

IntegrityError

DatabaseError

关系完整性受到影响,比如键检查失败

InternalError

DatabaseError

数据库内部错误,比如非法游标

ProgrammingError

DatabaseError

用户编译错误,比如未找到表

NotSupportedError

DatabaseError

请求不支持的特性(比如回滚)

 

为了使用基础数据库系统,首先必须连接到它。需要使用具有恰当名称的connect函数,该函数有多个参数,而具体使用哪个参数取决于数据库。

 

connect函数是常用参数

参数

描述

是否可选

dsn

数据源名称,给出该参数表示数据库依赖

user

用户名

password

用户密码

host

主机名

database

数据库名

 

连接对象方法

方法名

描述

close()

关闭连接之后,连接对象和它的游标均不可用

commit()

如果支持的话就提交挂起的事务,否则不做任何事

rollback()

回滚挂起的事务(可能不可用)

cursor()

返回连接的游标对象

 

rollback方法可能不可用,因为不是所有的数据库都支持事务。

commit方法总是可用,但如果数据库不支持事务,它就没有任何作用。如果关闭了连接,但还有未提交的事务,它们会隐式地回滚——但只有在数据库支持回滚的时候才可以。

 

cursor方法引入另外一个主题:游标对象。通过游标执行sql查询并检查结果,游标比连接支持更多的方法,而且可能在程序中更好用。

游标对象方法

名称

描述

callproc(name[,params])

使用给定的名称和参数(可选)调用已命名的数据库程序

close()

关闭游标之后,游标不可用

execute(oper[,params])

执行sql操作,可能使用参数

execute(oper,pseq)

对序列中的每个参数执行sql操作

fetchone()

把查询的结果集中的下一行保存为序列或者None

fetchmany([size])

获取查询结果集中的多行,默认尺寸为arraysize

fetchall()

将所有(剩余)的行作为序列的序列

nextset()

跳至下一个可用的结果集(可选)

setinputsizes(sizes)

为参数预先定义内存区域

setoutputsize(size[,col])

为获取的大数据值设定缓冲区尺寸

 

游标对象特性

名称

描述

description

结果列描述的序列,只读

rowcount

结果中的行数,只读

arraysize

fetchmany中返回的行数,默认为1

 

类型

数据库对插入到具有某种类型的列中的值有不同的要求,是为了能正确地与基础sql数据库进行交互操作,DB API定义了用于特殊类型和值的构造函数及常量(单例模式)。

DB API构造函数和特殊值

名称

描述

Date(year,month,day)

创建保存日期值的对象

Time(hour,minute,second)

创建保存时间值的对象

Timestamp(y,mon,d,h,min,s)

创建保存时间戳值的对象

DateFromTicks(ticks)

创建保存来自新纪元以来秒数的对象

TimeFromTicks(ticks)

创建保存来自秒数的时间值的对象

TimestampFromTicks(ticks)

创建保存来自秒数的时间戳值的对象

Binary(string)

创建保存二进制字符串值的对象

STRING

描述基于字符串的列类型

BINARY

描述二进制列

NUMBER

描述数字列

DATETIME

描述日期/时间列

ROWID

描述行ID


python基础教程_学习笔记22:数据库支持,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。