一、python数据库编程接口(API):

1、全局变量:任何支持2.0版本DB API的数据库模块都必须定义3个描述模块特性的全局变量,这样做的原因是API设计很灵活,以支持不同的底层机制。

1、apilevel:字符串常量,提供正在使用的API版本号。

2、threadsafety:模块的线程安全等级,是个取值范围为0-3的整数。0表示线程完全不共享模块。3表示线程完全共享模块。1表示线程本身共享模块,但不对连接共享。

3、paramstyle:在SQL查询中使用的参数风格(在执行多次类似查询的时候,参数是如何被拼接到SQL查询中的)。

'format'表示标准的字符串格式化,可以在参数中进行拼接的地方插入%s。

'pyformat'表示扩展的格式代码,用于字典拼接中,比如%(foo)。

'qmark'使用问号。

'numeric'使用:1或者:2格式字段(数字表示参数的序号)。

'named'表示foobar这样的字段,其中foobar为参数名。

2、异常:API定义了一种层次结构的异常,以便尽可能进行错误处理。

1、StandardError:所有异常的泛型基类。

2、Waring:它的超类StandardError,在非致命错误时引发。

3、Error:它的超类StandardError,所有错误条件的泛型超类。

4、InterfaceError:它的超类Error,关于接口而非数据库的错误。

5、DatabaseError:它的超类Error,与数据库相关的错误的基类。

6、DataError:它的超类DatabaseError,与数据相关的问题,比如值超出范围。

7、OperationalError:它的超类DatabaseError,数据库内部操作错误。

8、IntegityError:它的超类DatabaseError,关系完整性受到影响,比如键检查失败。

9、InternalError:它的超类DatabaseError,数据库内部错误,比如非法游标。

10、ProgramingError:它的超类DatabaseError,用户编程错误,比如未找到表。

11、NotSupportedError:它的超类DatabaseError,请求不支持的特性(比如回滚)

3、连接和游标:

1、连接connect函数:

connect函数常用的参数:

1、dsn:数据源名称,给出该参数表示数据库依赖。

2、user:用户名。

3、password:用户密码。

4、host:主机名。

5、database:数据库名。

connect函数返回连接对象,表示目前和数据库的会话。连接对象支持的方法:

1、close():关闭连接,关闭后连接对象和它的游标均不可用。

2、commit():如果支持的话就提交挂起事务,否则不做任何事情。

3、rollback():回滚挂起的事务。(可能不可用)。

4、cursor():返回连接的游标对象。

2、游标对象:通过游标执行SQL查询并检查结果。

游标对象的方法:

1、callproc(name,[, params]):使用给定名称和参数调用已命名的数据库过程。

2、close():关闭游标。

3、execute(oper,[, params]) :执行一个SQL操作,可能带有参数。

4、executemany(oper,pseq):对序列中的每个参数集执行SQL操作。

5、fetclone():把查询的结果集中的下一行保存为序列,或者None。

6、fetchmany([size]):获取查询结果集中的多行,默认尺寸为arraysize。

7、fetchall():将所有剩余的行作为序列的序列。

8、nextset():跳转下一个可以的结果集(可选)。

9、setinputsizes(sizes):为参数预先定义内存区域。

10、setoutputsize(size[, col]):为获取的大数据值设定缓存区尺寸。

2、游标对象的特性:

1、description:结果列描述的序列,只读。

2、rowcount:结果中的行数,只读。

3、arraysize:fetchmany中返回的函数,默认1。

4、类型:DB API定义了用于特殊类型和值的构造函数及常量(单例模式)。

1、Date(year,month,day):创建保存日期值的对象。

2、Time(hour,minute,second):创建保存时间值的对象。

3、Timestamp(y,mon,d,h,min,s):创建保存时间戳值的对象。

4、DateFromTicks(ticks):创建保存自新纪元以来秒数的对象。

5、TimeFromTicks(ticks):创建保存来自秒数的时间值对象。

6、TimestampFromTicks(ticks):创建保存来自秒数的时间戳值的对象。

7、Binary(string):创建保存二进制字符串值的对象。

8、SIRING:描述基于字符串的列类型(比如CHAR)。

9、BINARY:描述二进制列(比如LONG或RAW)。

10、NUMBER:描述数字列。

11、DATETIME:描述日期\时间列。

12、ROWID:描述行ID列。

5、数据库应用程序示例:

1、创建一个people表,包含id,name,age字段。

2、往people表中插入1行数据,id=1,name=lisa,age=25

3、查询

使用fetchone():把查询的结果集的下一行作为序列或者None:

使用fetchall():把查询结果集的所有行作为序列的序列。

迭代对象遍历:

4、删除数据

5、一次插入多条数据:

1、参数绑定:

2、使用executemany():

3、利用生成器实现:

5、update:

6、delete:

7、select:

8、executescript的用法:

更多相关文章

  1. 即使我返回2个变量,对象也不可迭代?
  2. 第四章 Python 对象
  3. 数据库对象的创建和管理
  4. 查询自定义VO对象的sql
  5. Django查询优化:根据多对一到多对多查找对象列表
  6. 手把手教你mysql(十五)游标变量流程控制
  7. PostgreSQL操纵大对象(图片等)
  8. Recordset记录集对象的属性
  9. GenericObjectPool对象池异常排查

随机推荐

  1. golang 什么时候用锁
  2. golang如何设置时间
  3. golang主要开发什么?
  4. golang中什么是接口
  5. golang怎么导入包
  6. golang检查文件是否存在的方法
  7. golang能开发什么?
  8. golang最适合做什么项目
  9. golang如何编译
  10. golang导出csv乱码解决方法