Python的Mysql编程

来源:互联网 时间:1970-01-01

系统环境

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








相关阅读:
Top