Python3操作MySQL数据库指南
需积分: 5 89 浏览量
更新于2024-08-05
收藏 12KB MD 举报
"这篇文档介绍了如何使用Python 3操作MySQL数据库,主要聚焦于`pymysql`模块。`pymysql`是Python中用于连接MySQL的库,它完全兼容`MySQLdb`的API,适用于Python 3环境。文档中提到了安装`pymysql`的命令,并展示了创建数据库表以及插入数据的基本操作示例。"
在Python 3中,如果要进行MySQL数据库的操作,`pymysql`是一个重要的选择。`MySQLdb`虽然是早先的模块,但它仅支持Python 2,且已经停止更新。相比之下,`pymysql`是纯Python实现,支持Python 3,并且安装简便,成为现代Python开发中连接MySQL的首选。
要安装`pymysql`,可以使用Linux终端中的`pip3`命令:
```shell
pip3 install pymysql
```
在成功安装后,我们可以开始使用`pymysql`连接和操作MySQL数据库。首先,创建数据库连接:
```python
import pymysql
conn = pymysql.connect(host='172.16.153.10', port=3306, user='root', passwd='123', db='shark_db', charset='utf8mb4')
```
在这个例子中,我们连接到IP地址为`172.16.153.10`,端口为`3306`的MySQL服务器,使用用户名`root`和密码`123`,并选择数据库`shark_db`,字符集设置为`utf8mb4`,以支持更多的Unicode字符。
接着,获取游标对象,游标用于执行SQL语句和处理结果:
```python
cursor = conn.cursor()
```
创建表的SQL语句可以通过字符串定义,例如创建一个名为`test1`的表,包含`id`(自动增长的主键)、`name`(非空的varchar类型)和`age`(非空的整型)字段:
```python
create_table_sql = """CREATE TABLE test1 (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(10) NOT NULL,
age INT NOT NULL)"""
```
使用游标执行SQL语句:
```python
cursor.execute(create_table_sql)
```
提交事务确保更改保存到数据库:
```python
conn.commit()
```
记得在完成操作后关闭游标和连接:
```python
cursor.close()
conn.close()
```
当需要插入数据时,可以使用类似的方法。以下是一个插入单条数据的例子,使用变量占位符`%s`:
```python
insert_data_sql = "INSERT INTO test1 (name, age) VALUES (%s, %s)"
name = 'John'
age = 30
cursor.execute(insert_data_sql, (name, age))
conn.commit()
```
这样,我们就成功地在`test1`表中插入了一条数据。通过`pymysql`,你可以执行更复杂的查询,如更新、删除和联合查询等,实现对MySQL数据库的全面控制。在实际项目中,通常还会结合ORM(Object-Relational Mapping)框架,如SQLAlchemy或Peewee,以提高代码的可读性和可维护性。
2024-07-04 上传
2019-04-25 上传
2024-02-06 上传
没有办法飞的超人
- 粉丝: 0
- 资源: 2
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录