标题:跟着ArthurXF学习python2——让python可以访问mysql 出处:BIWEB开源PHP WMS系统创始人ArthurXF肖飞的blog 时间:Sun, 05 Oct 2008 13:13:35 +0000 作者:ArthurXF 地址:http://www.bizeway.net/read.php/368.htm 内容:   其实这个动作也很简单,只是python不像PHP那样默认支持mysql,所以我们必须为python安装一个mysql的扩展库。 1.首先下载 MySQL for python 因为我们是在windows下用的,所以我下载了一个MySQL-python-1.2.2.win32-py2.5.exe 2.直接执行安装,只要你已经安装过python,那么安装会相当顺利,一切默认即可完成安装了。 3.加载模块 如果我们执行import MySQLdb,没有报错,说明安装成功了,不过千万要注意大小写哦,很容易搞错的。 4.模块中的常用函数 connect()方法用于连接数据库,返回一个数据库连接对象。如果要连接一个位于host.remote.com服务器上名为fourm的MySQL数据库,连接串可以这样写: db = MySQLdb.connect(host="remote.com",user="user",passwd="xxx",db="fourm" )connect()的参数列表如下: host,连接的数据库服务器主机名,默认为本地主机(localhost)。 user,连接数据库的用户名,默认为当前用户。 passwd,连接密码,没有默认值。 db,连接的数据库名,没有默认值。 conv,将文字映射到Python类型的字典。默认为MySQLdb.converters.conversions cursorclass,cursor()使用的种类,默认值为MySQLdb.cursors.Cursor。 compress,启用协议压缩功能。 named_pipe,在windows中,与一个命名管道相连接。 init_command,一旦连接建立,就为数据库服务器指定一条语句来运行。 read_default_file,使用指定的MySQL配置文件。 read_default_group,读取的默认组。 unix_socket,在unix中,连接使用的套接字,默认使用TCP。 port,指定数据库服务器的连接端口,默认是3306。 连接对象的db.close()方法可关闭数据库连接,并释放相关资源。 连接对象的db.cursor([cursorClass])方法返回一个指针对象,用于访问和操作数据库中的数据。 连接对象的db.begin()方法用于开始一个事务,如果数据库的AUTOCOMMIT已经开启就关闭它,直到事务调用commit()和rollback()结束。 连接对象的db.commit()和db.rollback()方法分别表示事务提交和回退。 指针对象的cursor.close()方法关闭指针并释放相关资源。 指针对象的cursor.execute(query[,parameters])方法执行数据库查询。 指针对象的cursor.fetchall()可取出指针结果集中的所有行,返回的结果集一个元组(tuples)。 指针对象的cursor.fetchmany([size=cursor.arraysize])从查询结果集中取出多行,我们可利用可选的参数指定取出的行数。 指针对象的cursor.fetchone()从查询结果集中返回下一行。 指针对象的cursor.arraysize属性指定由cursor.fetchmany()方法返回行的数目,影响fetchall()的性能,默认值为1。 指针对象的cursor.rowcount属性指出上次查询或更新所发生行数。-1表示还没开始查询或没有查询到数据。 5.使用例子 #!/usr/bin/python import MySQLdb try:    connection = MySQLdb.connect(user="user",passwd="password",host="xxx",db="test")except:  print "Could not connect to MySQL server."  exit( 0 ) try:   cursor = connection.cursor()   cursor.execute( "SELECT note_id,note_detail FROM note where note_id = 1" )   print "Rows selected:", cursor.rowcount   for row in cursor.fetchall():       print "note : ", row[0], row[1]   cursor.close() Generated by Bo-blog 2.0.3 sp1