你必须下载一个单独的DB API的模块,你需要访问的每个数据库。例如,如果你需要访问Oracle数据库以及MySQL数据库,你必须下载Oracle和MySQL数据库模块.

DB API提供了与数据库的工作,尽可能使用Python的结构和语法的最低标准。这个API包括以下:

  • 导入API模块.

  • 获取与数据库的连接.

  • 发出SQL语句和存储过程.

  • 关闭连接

检验MySQLdb模块是否安装成功:

#!/usr/bin/env python

import MySQLdb

如果它产生以下结果,那么它意味着未安装MySQLdb模块:

Traceback (most recent call last):
  File "test.py", line 3, inimport MySQLdb
ImportError: No module named MySQLdb

下载MySQLdb模块,Linux环境下安装命令

$ gunzip MySQL-python-1.2.2.tar.gz
$ tar -xvf MySQL-python-1.2.2.tar
$ cd MySQL-python-1.2.2
$ python setup.py build
$ python setup.py install

*注意root权限安装


数据库连接:

连接到一个MySQL数据库之前确保以下:

  • 你已经创建了一个数据库TESTDB.

  • 你已经创建了一个EMPLOYEE表在TESTDB中.

  • EMPLOYEE表有以下几个字段: FIRST_NAME, LAST_NAME, AGE, SEX and INCOME.

  • “testuser的”用户ID和密码“test12”设置用来访问TESTDB。

  • Python模块MySQLdb在你的机器上正确安装.

  • 你已通过MySQL的教程



例1:连接TESTDB

#!/usr/bin/env python
import MySQLdb
# Open database connection
db = MySQLdb.connect(host="Llocalhost", user="testuser", passwd="test12", db="TESTDB")
#prepare a cursor object using cursor() method
cursor = db.cursor()
#as dictionary format output
#cursor = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)
# execute SQL query using execute() method
cursor.execute("SELECT VERSION()")
#Fetch a single row using fetch() method
data = cursor.fetchone()
print "Database version:%s" % data
#disconnect from server
cursor.close()
db.close()


而在我的Linux机器运行此脚本,其产生的结果如下.

Database version : 5.0.45