14.10 总结
数据库模块是您使用Python和SQL数据库的接口。DB-API 2.0说明书定义了一个通用的接口。数据库接口模块的作者都是坚持这个说明书的。如果它们是,而您的代码也符合这些说明书,您的程序通常能适用多数的数据库服务器。
在执行命令前,您必须首先连接数据库服务器。连接数据库的过程是不同数据库服务器之间最具差异性的地方。本章提供了MySQL、PostgreSQL和zxJDBC的例子。想知道更详细的,请查看您的数据库模块文档。连接上数据库后,您将有一个数据库的句柄对象,所有指令通过这个对象发出。
execute()方法用了执行简单指令的——就是那些不会返回复杂输出的指令。它主要用来往数据库中插入数据。如果您想插入大量的数据,您应该使用executemany()函数或带有格式化字符串的execute()函数。
大多数SQL服务器支持事务,因此允许您把所有对于数据库的修改组成一个逻辑处理结束之后,再提交数据。commit()函数和rollback()函数分别确保数据库的改变或根本不执行。
有很多方法可以从数据库得到数据。fetchone()可以取得一个单一的行,fetchall()取得所有的结果行,fetchmany()取得多个结果。它们都操作数据库指针。
同样存在的是Metadata。指针中的变量包含返回的列的信息。如果数据库提供行数的话,rowcount变量就包含这个数字。
图书导读







