Python操作MySQL:pymysql与sqlalchemy实战指南

5 下载量 66 浏览量 更新于2024-08-29 1 收藏 161KB PDF 举报
本文主要介绍了如何使用Python进行MySQL数据库操作,重点讲解了pymysql和sqlalchemy两个库的常见用法,包括创建、查看、修改和删除表,以及插入、查询、更新和删除数据。 1. **pymysql操作MySQL** - **创建表**:使用`execute()`方法执行SQL语句,如`CREATE TABLE`,来创建新的表结构。 - **查看表**:通过`SELECT`语句查看数据库中的表,例如`SHOW TABLES;`。 - **修改表**:使用`ALTER TABLE`语句修改表结构,如增加、删除或修改字段。 - **删除表**:使用`DROP TABLE`语句删除表。 - **插入数据**:使用`INSERT INTO`语句向表中插入数据。 - **查看数据**:通过`SELECT`查询数据,可以使用`*`通配符获取所有列,或指定特定列。 - **修改数据**:使用`UPDATE`语句更新已有数据,配合`WHERE`子句定位需要修改的记录。 - **删除数据**:使用`DELETE FROM`语句删除数据,同样需要`WHERE`子句来确定删除条件。 2. **sqlalchemy操作MySQL** - **创建表**:sqlalchemy使用`Table`对象和`metadata`来定义表结构,然后调用`create()`方法创建表。 - **查看表**:可以通过`Inspector`类检查数据库中的表。 - **修改表**:使用`alter()`方法对已有的表结构进行修改。 - **删除表**:调用`drop()`方法删除表。 - **插入数据**:使用`Session`对象的`add()`方法添加新记录,然后`commit()`提交事务。 - **查看数据**:通过`Session.query()`方法查询数据,可以链式调用各种查询方法。 - **修改数据**:先用`query()`找到要修改的记录,再用`update()`方法更新,最后`commit()`。 - **删除数据**:使用`Session.delete()`删除记录,提交事务后生效。 3. **使用示例** - 在使用pymysql时,需要先建立连接和游标,然后执行SQL语句,最后关闭游标和连接。 - sqlalchemy则提供了面向对象的ORM(对象关系映射)方式,通过Python类定义表结构,使用对象进行数据库操作,简化了SQL语句的编写。 4. **事务处理** - 在pymysql中,需要手动调用`commit()`提交事务,`rollback()`回滚事务。 - sqlalchemy的`Session`对象自动管理事务,`commit()`提交当前事务,`rollback()`回滚未提交的更改。 5. **性能与适用场景** - pymysql适合简单的SQL操作,对性能要求较高或需要低级控制的场景。 - sqlalchemy提供更高级的抽象,适用于复杂的业务逻辑和对象模型,但可能在性能上稍逊一筹。 6. **编码支持** - 在连接MySQL时,如果需要支持中文,可以在连接参数中设置`charset="utf8"`。 总结,pymysql和sqlalchemy都是Python操作MySQL的有效工具,选择使用哪个取决于项目需求和开发者的偏好。pymysql更适合直接执行SQL,而sqlalchemy则提供了更强大的对象模型和ORM功能。