Python操作MySQL:pymsql与SQLAlchemy详解
139 浏览量
更新于2024-08-31
收藏 416KB PDF 举报
"这篇文档介绍了Python操作MySQL的两种主要方式,包括使用原生模块`pymysql`和ORM框架`SQLAlchemy`。通过`pymysql`模块,演示了如何建立连接、创建游标以及执行SQL查询和插入操作。对于`SQLAlchemy`,虽然没有详细展开,但它是Python中常用的ORM工具,可以将数据库操作转化为面向对象的方式,提高开发效率。"
Python与MySQL的交互通常涉及两种方法:原生模块和对象关系映射(ORM)框架。本文重点讨论了`pymysql`和`SQLAlchemy`。
首先,`pymysql`是Python连接MySQL的原生模块,适用于基础的数据库操作。在Windows环境下,可以通过`pip install pymysql`命令进行安装。以下是一个简单的使用示例:
1. 建立连接:提供数据库服务器的地址(如`host`)、端口(如`port`)、用户名(`user`)、密码(`passwd`)和数据库名(`db`)来创建连接。
```python
conn = pymysql.connect(host='192.168.123.207', port=3306, user='root', passwd='root', db='test')
```
2. 创建游标:游标允许我们执行SQL语句并获取结果。
```python
cursor = conn.cursor()
```
3. 执行SQL:通过游标执行SQL查询,例如查询`student`表中的所有数据。
```python
effect_row = cursor.execute("SELECT * FROM student")
```
4. 处理结果:获取查询结果,可以使用`fetchone()`、`fetchmany(size)`或`fetchall()`。
```python
# 获取第一条数据
print(cursor.fetchone())
# 获取前三条数据
print('>>>>>', cursor.fetchmany(3))
# 获取所有数据
print('------', cursor.fetchall())
```
5. 插入数据:同样通过游标执行插入操作,例如插入多条记录到`student`表。
```python
data = [("N1", 23, "2015-01-01", "M"), ("N2", 24, "2015-01-02", "F")]
# 批量插入数据
cursor.executemany("INSERT INTO student VALUES (%s,%s,%s,%s)", data)
# 提交事务
conn.commit()
```
其次,`SQLAlchemy`是一种强大的ORM框架,它允许开发者以面向对象的方式来操作数据库,提高了代码的可读性和可维护性。虽然文中没有详细介绍`SQLAlchemy`的使用,但基本步骤包括定义模型类(映射到数据库表)、创建会话(Session)对象以执行操作,以及使用会话来查询和保存数据。
总结来说,`pymysql`适合简单且直接的SQL操作,而`SQLAlchemy`则更适合大型项目,它通过抽象数据库操作,使得代码更加简洁和易于理解。根据项目的具体需求,开发者可以选择合适的方法来实现Python与MySQL的交互。
2022-05-30 上传
2020-09-09 上传
2020-09-09 上传
2020-09-08 上传
2022-09-23 上传
2024-01-29 上传
2020-09-10 上传
2017-08-30 上传
2019-01-14 上传
weixin_38713057
- 粉丝: 3
- 资源: 946
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器