Python3操作MySQL数据库指南

需积分: 5 0 下载量 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,以提高代码的可读性和可维护性。