首页 / 服务器推荐 / 正文
Python 连接 MySQL,从入门到实践

Time:2025年01月07日 Read:6 评论:42 作者:y21dr45

在当今数据驱动的世界中,数据库扮演着至关重要的角色,MySQL 作为世界上最流行的开源关系型数据库管理系统之一,广泛应用于各种规模的项目中,Python 作为一种功能强大且易于学习的编程语言,常被用于与 MySQL 数据库进行交互,本文将详细介绍如何使用 Python 连接 MySQL 数据库,并提供一些实用的示例代码。

Python 连接 MySQL,从入门到实践

一、准备工作

在开始之前,你需要确保已经安装了以下软件:

1、Python:建议安装最新版本的 Python(如 Python 3.x)。

2、MySQL:你可以下载并安装 MySQL Community Server,或者使用 XAMPP、WAMP 等集成环境。

3、MySQL Connector/Python:这是 MySQL 官方提供的 Python 连接器,你可以通过pip 命令进行安装:

   pip install mysql-connector-python

二、基本概念

在深入了解如何连接 MySQL 之前,我们先来了解一下几个关键概念:

数据库(Database):一个有组织的数据集合,通常包含多个表。

表(Table):数据库中的基本存储单元,由行和列组成。

行(Row):表中的一条记录。

列(Column):表中的字段,定义了每条记录的属性。

SQL(Structured Query Language):用于管理和操作数据库的标准语言。

三、连接 MySQL 数据库

使用 Python 连接 MySQL 数据库非常简单,以下是一个简单的示例,展示了如何连接到本地的 MySQL 数据库并执行基本的 SQL 查询。

import mysql.connector
from mysql.connector import Error
def create_connection(host_name, user_name, user_password, db_name):
    connection = None
    try:
        connection = mysql.connector.connect(
            host=host_name,
            user=user_name,
            passwd=user_password,
            database=db_name
        )
        print("Connection to MySQL DB successful")
    except Error as e:
        print(f"The error '{e}' occurred")
    return connection
替换为你的数据库信息
connection = create_connection("localhost", "root", "", "testdb")

四、执行 SQL 语句

连接成功后,你可以使用cursor() 方法创建一个游标对象,然后通过该对象执行 SQL 语句。

def execute_query(connection, query):
    cursor = connection.cursor()
    try:
        cursor.execute(query)
        connection.commit()
        print("Query executed successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
示例:创建一个新表
create_table_query = """
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    email VARCHAR(255) NOT NULL
)
"""
execute_query(connection, create_table_query)

五、插入数据

插入数据同样简单,只需准备相应的 SQLINSERT 语句即可。

def insert_user(connection, name, email):
    query = f"INSERT INTO users (name, email) VALUES (%s, %s)"
    values = (name, email)
    cursor = connection.cursor()
    try:
        cursor.execute(query, values)
        connection.commit()
        print("User inserted successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
insert_user(connection, "John Doe", "john.doe@example.com")

六、查询数据

查询数据时,可以使用fetchall()fetchone() 方法获取结果。

def fetch_users(connection):
    query = "SELECT * FROM users"
    cursor = connection.cursor()
    cursor.execute(query)
    result = cursor.fetchall()
    return result
users = fetch_users(connection)
for user in users:
    print(user)

七、更新和删除数据

更新和删除数据的操作也类似,只是需要使用不同的 SQL 语句。

def update_user(connection, user_id, new_email):
    query = f"UPDATE users SET email = %s WHERE id = %s"
    values = (new_email, user_id)
    cursor = connection.cursor()
    try:
        cursor.execute(query, values)
        connection.commit()
        print("User updated successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
update_user(connection, 1, "new.email@example.com")
def delete_user(connection, user_id):
    query = f"DELETE FROM users WHERE id = %s"
    values = (user_id, )
    cursor = connection.cursor()
    try:
        cursor.execute(query, values)
        connection.commit()
        print("User deleted successfully")
    except Error as e:
        print(f"The error '{e}' occurred")
delete_user(connection, 1)

八、关闭连接

完成所有操作后,别忘了关闭数据库连接。

if connection.is_connected():
    connection.close()
    print("MySQL connection is closed")

九、总结

本文介绍了如何使用 Python 连接 MySQL 数据库,并演示了基本的 CRUD(创建、读取、更新、删除)操作,通过掌握这些基础知识,你可以进一步扩展功能,例如处理更复杂的查询、实现事务管理、优化性能等,希望本文对你有所帮助,祝你在使用 Python 和 MySQL 的过程中取得成功!

标签: python连mysql 
排行榜
关于我们
「好主机」服务器测评网专注于为用户提供专业、真实的服务器评测与高性价比推荐。我们通过硬核性能测试、稳定性追踪及用户真实评价,帮助企业和个人用户快速找到最适合的服务器解决方案。无论是云服务器、物理服务器还是企业级服务器,好主机都是您值得信赖的选购指南!
快捷菜单1
服务器测评
VPS测评
VPS测评
服务器资讯
服务器资讯
扫码关注
鲁ICP备2022041413号-1