Python操作MySQL是一种常见的数据交互方式,特别是在Web开发中。Python提供了多种库来实现与MySQL数据库的连接和操作,其中PyMySQL和SQLAlchemy是最常用的两个。本文将重点介绍使用PyMySQL库进行MySQL数据库操作的方法。 PyMySQL是Python的一个纯Python实现的MySQL驱动程序,它是对已停止更新且不支持Python3的Python-MySQL(MySQLdb)的替代品。PyMySQL的优点在于安装简便,无太多依赖,并且完全支持Python3。 **安装PyMySQL** 安装PyMySQL可以通过Python的包管理器pip进行,命令如下: ```bash pip install pymysql ``` 如果在没有网络的情况下,你可以下载源码包,然后通过tar.gz文件进行离线安装。 **导入和连接** 在Python代码中,我们需要先导入pymysql模块,然后建立到MySQL服务器的连接。以下是一个简单的连接函数示例: ```python import pymysql def connect_wxremit_db(): return pymysql.connect(host='10.123.5.28', port=3306, user='root', password='root1234', database='db_name', charset='latin1') ``` **查询操作** 查询数据通常涉及编写SQL语句并执行。下面的`query_country_name`函数展示了如何执行一个查询并处理结果: ```python def query_country_name(cc2): sql_str = ("SELECT Fcountry_name_zh " + "FROM t_country_code " + "WHERE Fcountry_2code='%s'" % (cc2)) logging.info(sql_str) con = mysql_api.connect_wxremit_db() cur = con.cursor() cur.execute(sql_str) rows = cur.fetchall() cur.close() con.close() assert len(rows) == 1, 'Fatal error: country_code does not exists!' return rows[0][0] ``` **简单插入** 插入数据可以通过执行带有VALUES子句的INSERT语句来实现。以下是一个简单的插入示例: ```python def insert_file_rec(self, file_name, file_md5): con = mysql_api.connect_wxremit_db() cur = con.cursor() try: sql_str = ("INSERT INTO t_forward_file (Ffile_name, Ffile_md5) " + "VALUES ('%s', '%s')" % (file_name, file_md5)) cur.execute(sql_str) con.commit() except: con.rollback() logging.exception('Insert operation error') raise finally: cur.close() con.close() ``` **批量插入** 对于大量数据的插入,使用`executemany`方法可以提高效率。以下是一个批量插入的例子: ```python remit_ids = [('1234', 'CAD'), ('5678', 'HKD')] con = mysql_api.connect_wxremit_db() cur = con.cursor() try: cur.executemany("INSERT INTO t_order (Fremit_id, Fcur_type, Fcreate_time " + "VALUES (%s, %s, now())", new_items) assert cur.rowcount == len(remit_ids), 'my error message' con.commit() except Exception as e: con.rollback() logging.exception('Insert operation error') ``` 在批量插入时,我们传递了一个包含多个元组的列表`new_items`,每个元组对应一行要插入的数据。 总结,Python通过PyMySQL库与MySQL数据库交互,可以方便地进行查询、插入等操作。通过良好的错误处理和事务控制,可以确保数据操作的可靠性和一致性。在实际项目中,可以根据需求选择合适的方式来组织和执行这些操作。





























- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 小游戏五子棋JAVA程序设计.doc
- 综合项目管理大知识标准体系.docx
- 江苏省建设厅项目管理表样本.doc
- 系统集成项目管理工程师考试题库系统集成技术试题汇中样本.doc
- 上半年信息系统项目管理师参考答案及解析.doc
- 物联网期末设计.doc
- 运筹学图与网络分析.ppt
- 如何做好软件系统演示.ppt
- 基于RRTConnect算法的双履带起重机路径规划研究论文.doc
- 网络工程专业大学生职业生涯规划书范文字.doc
- 开放型计算机网络实验室建设路径研究获奖科研报告论文.docx
- 愿望网站策划案.doc
- 网络传播概论全书整本书电子教案教学教程.pptx
- 网络设备调试员(高级)实践操作题.doc
- 数控编程的工艺处理ppt课件.ppt
- (完整版)螺纹连接计算(附Excel计算).doc


