有关Python版本大杂烩
下文我们首先介绍了有关Python版本的各个区别,随后分别用两个实例对DB-API模块做了深入的介绍,最后讨论了用不同的Python版本编写的MySQL脚本的移植注意事项。
一、DB-API简介
Python语言是一种流行的开源编程语言,不仅自身表达能力强,而且还有许多辅助模块,着极大的增强了其功能。本文介绍的是一个名为DB-API的模块――顾名思义,该模块为开发人员提供了数据库应用编程接口。DB-API旨在帮应用开发人员摆脱特定数据库引擎的具体细节的纠缠,编写出能够在不同数据库引擎之间相互移植的数据库访问脚本。
DB-API的设计与Perl和Ruby的DBI模块、PHP 的PEAR DB 类以及Java的JDBC接口非常类似,它使用了一个两层体系结构,其中顶层提供了一个抽象接口,该接口可以泛用于所有支持的数据库引擎;
而底层则是有一些特定引擎的驱动程序构成,这些驱动程序负责处理与特定引擎有关的细节。这样的话,为了使用DB-API来编写Python脚本,必须有相应的驱动程序来处理特定的数据库系统。对于MySQL来说,DB-API使用驱动程序MySQLdb来处理对MySQL数据库的访问。下面我们将首先详细介绍驱动程序的安装,然后阐述如何编写DB-API脚本。
二、安装MySQLdb
为了用DB-API编写MySQL脚本,必须确保已经安装了Python。对于UNIX操作系统来说,通常都安装有该软件,但是Windows系统的话就难说了。其实Python的安装很简单,先到Python官方网站下载安装程序,然后一路回车即可,就本文而言,我们要求使用Python 2.3.4或更高版本。
并且还得安装MySQLdb模块。我们可以从命令行提示符(这里的提示符为UNIX操作系统中的%,如果是Windows系统的话,该提示符则为C:\>)中输入下列命令来检查两者的安装情况,命令如下所示:
% python Python 2.4.3 (#1, Aug 29 2006, 14:45:33) [GCC 3.4.6 (Gentoo 3.4.6-r1, ssp-3.4.5-1.0, pie-8.7.9)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import MySQLdb
假如Python的版本满足要求,并且输入import MySQLdb命令(即导入MySQLdb模块)后没有出现错误报告的话,我们就可以开始编写访问数据库的脚本了;但是,如果出现下列错误消息的话,则说明还缺少MySQLdb,所以必须先下载安装MySQLdb模块:
>>> import MySQLdb Traceback (most recent call last): File "", line 1, in ? ImportError: No module named MySQLdb
为了获得MySQLdb,请访问http://sourceforge.net/projects/mysql-python,从这里可选择适合您的平台的安装包,分为预编译的二进制文件和源代码安装包。如果您选择二进制文件发行版本的话,安装过程基本安装提示即可完成。
如果从源代码进行安装的话,则需要切换到MySQLdb发行版本的顶级目录,并键入下列命令。在UNIX操作系统之下安装的时候,第二条命令需要以超级用户的身份运行才能将驱动程序文件复制到Python的安装目录中。具体命令如下所示: