python学习笔记(十 二)、操作数据库


每一种语言都少不了多数据库进行各种操作。

python支持多种数据库。有关python支持的数据库清单,请参阅:
https://wiki.python.org/moin/DatabaseInterfaces.

1. 全局变量

    所有与DB API2.0兼容的数据库模块都必须包含三个全局变量,它们描述了模块的特征。这样设计,是的API设计更加灵活,无需进行太多包装就能配合多种不同的底层机制使用。
    变量 apilevel :使用的Python DB API版本,如果没有这个变量,就说明模块不予DB API 2.0兼容。
    变量 threadsafety :模块的线程安全程度。该值是一个0~3 ( 含 )的整数。0表示线程不能共享模块,3表示模块是绝对线程安全的。1表示线程可共享模块本身,但不能共享连接,2表示可以共享模块和连接,但不能共享游标。
    变量 paramstyle :在SQL查询中使用哪种参数风格。

  • 'format’表示标准的字符串格式化,如要在参数中进行拼接的地方插入%s。
  • 'pyformat’表示扩展的格式代码,即旧式字典插入,比如%(foo)s。
  • 'qmark’使用问号。
  • 'numeric’使用 :1 和 :2 这样形式表示字段(数字表示参数的编号)。
  • 'named’表示foobar这样的字段,其中foobar为参数名。

2. 异常

DB API 定义了多种异常,让你能够细致的处理错误。如:

异常描述
StandardError所有异常的超类
Warning所有非致命问题时引发
Error所有错误条件的超类
InterfaceError与接口相关的错误
DatabaseError与数据库相关的错误的超类
DataError与数据库相关的问题,如值不在合法的访问内
OperationalError数据库操作内部的错误

3. 连接和游标

    要使用底层的数据库系统,必须使用函数connect进行连接。函数connect的常用参数如下:

参数名描述是否可选
dsn数据库名称,具体含义随数据库而异
user用户名
password用户名
user用户名
password密码
host主机名
port端口号
database数据库名称

    函数connect返回一个连接对象,表示当前到数据库的会话。连接对象支持如下方法:

方法描述
close()关闭连接对象。
commit()提交未提交的事务----如果支持的话;否则什么都不做
rollback()回滚为提交的事务(可能不可用)
cursor()返回连接的游标对象

    方法cursor返回一个游标对象,可以使用该对象来执行SQL查询和查看结果。游标对象的方法如下表。

方法描述
callproc(name,[, params])使用指定的参数调用指定的数据库过程(可选)
close()关闭游标
execute(oper[, params])执行一个SQL操作-----可指定参数
executemany(oper, pseq)执行执行的SQL操作多次,每次都取序列pseq中的一组参数
fetchone()以序列的方式取回查询结婚中的下一行;如果没有更多的行,返回None
fetchmany([size])取回查询结果中的多行,其中参数size的值默认为arraysize
fetchall()以序列的方式取回余下的所有行
nextset()跳到下一个结果集,这个方法是可选的
setinputsizes(sizes)用于为参数预定义内存区域
setoutputsize(size[, col])为取回大量数据而设置缓冲区长度

4. 类型

    对于插入到某些类型的列中的值,DB API 定义了一些构造函数和常量,用于提供特殊的类型和值。

名称描述
Date(year, month, day)创建包含日期值的对象
Time(hour, minute, second)创建包含时间值的对象
Timestamp(year, mon, day, h, min, s)创建包含时间戳的对象
DateFromTicks(ticks)根据从新纪元开始过去的秒数创建包含日期值的对象
TimeFromTicks(ticks)根据从新纪元开始过去的秒数创建包含时间值的对象
imestampFromTicks(ticks)根据从新纪元开始过去的秒数创建包含时间戳的对象
Binary(string)创建包含二进制字符串值得对象
STRING描述基于字符串的列(如CHAR)
BINARY描述二进制列(如LONG、RAW)
NUMBER描述数字列
DATETIME描述日期/时间列
ROWID描述行ID列

5. 操作数据库

    要是用Python来操作数据库,一般分为下面几个步骤:

  1. 导入相应的数据库模块。
  2. 使用connect连接数据库。
  3. 获取操作游标。
  4. 使用游标执行增删改查(CRUD)语句。
  5. 可能还需要提交事务,使用commit方法。
  6. 关闭连接close。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值