python
bitscn.com系统环境fedora 15, mysql 5.5
安装mysqldb模块在fedora环境下,我们可以很方便的使用强大的yum来安装
$yum install mysql-python.i686
导入模块import mysqldb
操作数据库1. 连接数据库
conn = mysqldb.connection(host='host', user='user', passwd='passwd', db='db')
conn = mysqldb.connect(host='host', user='user', passwd='passwd', db='db')
这两种方法都可以返回连接对象。其中主要使用的参数有:
host,数据库所在的主机,默认是'localhost'
user,登录数据库的用户名,默认是当前用户
passwd,登录数据库的密码,默认为空
db,打开的数据库名,默认无
port,mysql服务的端口,默认为3306
2. 事务相关
#提交修改
conn.commit()
#事务回滚
conn.rollback()
3.获得游标
cursor = conn.cursor(cursorclass=mysqldb.cursors.cursor)
cursorclass参数:
mysqldb.cursors.cursor, 默认值,执行sql语句返回list,每行数据为tuple
mysqldb.cursors.dictcursor, 执行sql语句返回list,每行数据为dict
4. 执行操作
「执行sql语句」:
cursor.execute(sql, params)
sql,执行的sql语句,需要参数的地方使用%s
params,1个普通类型或者tuple类型,sql语句中需要的参数
返回受到影响的行数
「调用存储过程」:
cursor.callproc(procname, args)
procname,存储过程的名称
args,传递的参数
返回受到影响的行数
5. 接受返回值
#返回单行数据
result = cursor.fetchone()
#返回所有数据
result = cursor.fetchall()
前面提到,如果获得cursor的时候使用的是mysqldb.cursors.dictcursor,则返回的每行数据是dict类型。其中每对键值都是“字段名:数据”
如果前面一次执行了多个select语句,那么sursor会返回多个结果集,cursor提供了对应的方法来移动到下一个结果集
cursor.nextset()
6. 关闭连接
养成良好的习惯,不在使用数据库的时候,及时关闭游标对象和数据库连接对象
cursor.close()
conn.close()
参考mysqldb的用户指南:http://mysql-python.sourceforge.net/mysqldb.html
bitscn.com