MySQLdb模块是python连接mysql数据库的一个模块,在操作mysql数据库是经常使用,在连接数据库时connect是最常用的一种方法,这个方法有好多参数,总结了一下,主要有一下几种:

connect()方法用于连接数据库,返回一个数据库连接对象。如果要连接一个位于www.gyyx.com服务器上名为mysql的MySQL数据库,连接串可以这样写:

db = MySQLdb.connect(host="www.gyyx.com",user="user",passwd="xxx",db="mysql" )

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表示还没开始查询或没有查询到数据。

下面是一个连接mysql的例子:

  1. def mysql_conn():  
  2.     try:  
  3.         conn = MySQLdb.connect(host = '192.168.8.100',user = 'mysql',passwd = '123456',connect_timeout=10)  
  4.         cursor = conn.cursor()   
  5.         sql = "SELECT COUNT(1) FROM mysql.user" 
  6.         cursor.execute(sql)  
  7.         alldata = cursor.fetchall()  
  8.         count = alldata[0][0]  
  9.         cursor.close()  
  10.         conn.close()  
  11.         print count  
  12.     except Exception,e:  
  13.         print "Can not Connect to mysql server"