Python使用MySQL数据库

数据库在现代应用程序中至关重要,而 MySQL 以其高效和易用性受到开发者青睐。Python 通过简单的语法和强大的库,让数据操作变得更轻松。本教程将帮助您掌握 Python 与 MySQL 的结合应用,适用于数据存储、查询和分析。

20250919171017869-image

MySQL 基础

在操作 MySQL 之前,你需要先安装 MySQL 数据

安装好MySQL后你会得到MySQL的地址、端口、用户名、密码。

-- 创建数据库CREATE DATABASE mydatabase;
-- 使用数据库USE mydatabase;
-- 创建表CREATE TABLE users (    id INT AUTO_INCREMENT PRIMARY KEY,    username VARCHAR(50) NOT NULL,    email VARCHAR(100) NOT NULL,    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP);
此示例创建了一个名为 mydatabase 的数据库和一个 users 表,包含用户 ID、用户名、邮箱和创建时间。

Python 连接 MySQL

要用 Python 操作 MySQL,推荐使用 mysql-connector-python 库。先安装它:

pip install mysql-connector-python

以下是连接 MySQL 并查询数据的完整代码:

import mysql.connector
# 建立连接connection = mysql.connector.connect(    host="localhost",    user="your_username",    password="your_password",    database="mydatabase")
# 创建游标cursor = connection.cursor()
# 执行查询cursor.execute("SELECT * FROM users")
# 获取结果results = cursor.fetchall()
# 打印结果for row in results:    print(row)
# 关闭游标和连接cursor.close()connection.close()
此代码连接到 mydatabase,查询 users 表并打印结果。注意替换 your_username 和 your_password 为您的实际凭据。

事务管理

事务是一组操作,要么全部成功,要么全部失败,确保数据一致性。以下是 Python 中管理事务的示例:

import mysql.connector
connection = mysql.connector.connect(    host="localhost",    user="your_username",    password="your_password",    database="mydatabase")
try:    # 开始事务    connection.start_transaction()
    cursor = connection.cursor()
    # 执行插入操作    cursor.execute("INSERT INTO users (username, email) VALUES ('user1', 'user1@example.com')")    cursor.execute("INSERT INTO users (username, email) VALUES ('user2', 'user2@example.com')")
    # 提交事务    connection.commit()
except mysql.connector.Error as error:    # 回滚事务    connection.rollback()    print(f"事务失败: {error}")
finally:    cursor.close()    connection.close()

此示例插入两条记录,若成功则提交,否则回滚。

连接池

连接池通过预创建连接提高性能,避免频繁建立和关闭连接。以下是使用连接池的示例:

import mysql.connectorfrom mysql.connector import pooling
# 配置连接池dbconfig = {    "host": "localhost",    "user": "your_username",    "password": "your_password",    "database": "mydatabase"}connection_pool = pooling.MySQLConnectionPool(pool_name="mypool", pool_size=5, **dbconfig)
# 获取连接connection = connection_pool.get_connection()
# 创建游标cursor = connection.cursor()
# 执行查询cursor.execute("SELECT * FROM users")
# 获取结果results = cursor.fetchall()
# 打印结果for row in results:    print(row)
# 关闭游标和连接cursor.close()connection.close()

此代码创建了一个大小为 5 的连接池,从中获取连接执行查询。

错误处理

数据库操作可能出错,如连接失败或语法错误。以下是处理错误的示例:

import mysql.connector
try:    connection = mysql.connector.connect(        host="localhost",        user="your_username",        password="your_password",        database="mydatabase"    )
    cursor = connection.cursor()
    # 执行错误查询    cursor.execute("SELECT * FROM non_existent_table")
except mysql.connector.Error as error:    print(f"数据库错误: {error}")
finally:    if 'cursor' in locals():        cursor.close()    if 'connection' in locals():        connection.close()

 

🎀 🌸

📜 重要提示:
如有解压密码:看下载页、看下载页、看下载页。
源码工具资源类具有可复制性: 建议具有一定思考和动手能力的用户购买。
请谨慎考虑: 小白用户和缺乏思考动手能力者不建议赞助。
虚拟商品购买须知: 虚拟类商品,一经打赏赞助,不支持退款。请谅解,谢谢合作!
邻兔跃官网:lt.lintuyue.com(如有解压密码看下载页说明)。

文章版权声明 1、本网站名称:邻兔跃lT
2、本站永久网址:https://lt.lintuyue.com/
3、本站内容主要来源于互联网优质资源整合、网友积极投稿以及部分原创内容,仅供内部学习研究软件设计思想和原理使用,学习研究后请自觉删除,请勿传播,因未及时删除所造成的任何后果责任自负,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容