Python的Mysql编程_MySQL

php中文网
发布: 2016-06-01 13:51:00
原创
1239人浏览过

python

bitsCN.com

系统环境

fedora 15, mysql 5.5



立即学习Python免费学习笔记(深入)”;

安装MySQLdb模块

在Fedora环境下,我们可以很方便的使用强大的yum来安装

$yum install MySQL-python.i686



立即学习Python免费学习笔记(深入)”;

导入模块

import MySQLdb
登录后复制



立即学习Python免费学习笔记(深入)”;

操作数据库

1. 连接数据库

conn = MySQLdb.Connection(host='host', user='user', passwd='passwd', db='db')<br />conn = MySQLdb.connect(host='host', user='user', passwd='passwd', db='db')
登录后复制

这两种方法都可以返回连接对象。其中主要使用的参数有:

host,数据库所在的主机,默认是'localhost'

user,登录数据库的用户名,默认是当前用户

passwd,登录数据库的密码,默认为空

db,打开的数据库名,默认无

port,MySQL服务的端口,默认为3306
 

2. 事务相关

#提交修改<br />conn.commit()<br /><br />#事务回滚<br />conn.rollback()
登录后复制



立即学习Python免费学习笔记(深入)”;

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. 接受返回值

#返回单行数据<br />result = cursor.fetchone()<br /><br />#返回所有数据<br />result = cursor.fetchall()
登录后复制

前面提到,如果获得cursor的时候使用的是MySQLdb.cursors.DictCursor,则返回的每行数据是Dict类型。其中每对键值都是“字段名:数据”

如果前面一次执行了多个select语句,那么sursor会返回多个结果集,cursor提供了对应的方法来移动到下一个结果集

cursor.nextset()
登录后复制


6. 关闭连接

养成良好的习惯,不在使用数据库的时候,及时关闭游标对象和数据库连接对象

cursor.close()<br />conn.close()
登录后复制



立即学习Python免费学习笔记(深入)”;

参考

MySQLdb的用户指南:http://mysql-python.sourceforge.net/MySQLdb.html



立即学习Python免费学习笔记(深入)”;





  

bitsCN.com
豆包AI编程
豆包AI编程

智能代码生成与优化,高效提升开发速度与质量!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号