在现代应用开发中,数据库是处理大量数据不可或缺的部分。而在Python中,操作MySQL数据库是非常常见的任务。本文将介绍如何使用Python操作MySQL,包括数据库连接、基本的CRUD(创建、读取、更新、删除)操作,以及一些注意事项。

一、准备工作

首先,我们需要确保已经安装了MySQL数据库及其Python驱动。常用的MySQL驱动是mysql-connector-python,我们可以通过pip进行安装:

pip install mysql-connector-python

二、连接数据库

在开始操作数据库之前,我们需要先连接到MySQL数据库。以下是一个示例代码,用于连接到名为test_db的数据库:

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,
            password=user_password,
            database=db_name
        )
        print("数据库连接成功")
    except Error as e:
        print(f"数据库连接失败: {e}")
    return connection

# 示例:连接到本地MySQL数据库
connection = create_connection("localhost", "root", "your_password", "test_db")

三、执行CRUD操作

1. 创建数据表

我们可以使用SQL语句创建数据表。以下是创建一个用户表的示例:

def create_table(connection):
    cursor = connection.cursor()
    create_table_query = """
    CREATE TABLE IF NOT EXISTS users (
        id INT AUTO_INCREMENT PRIMARY KEY,
        name VARCHAR(100) NOT NULL,
        age INT
    )
    """
    try:
        cursor.execute(create_table_query)
        print("用户表创建成功")
    except Error as e:
        print(f"创建表失败: {e}")
    finally:
        cursor.close()

create_table(connection)

2. 创建数据

向数据库中插入数据的示例:

def insert_user(connection, name, age):
    cursor = connection.cursor()
    insert_user_query = "INSERT INTO users (name, age) VALUES (%s, %s)"
    try:
        cursor.execute(insert_user_query, (name, age))
        connection.commit()
        print("用户添加成功")
    except Error as e:
        print(f"添加用户失败: {e}")
    finally:
        cursor.close()

insert_user(connection, "张三", 25)
insert_user(connection, "李四", 30)

3. 读取数据

从数据库中读取数据的示例:

def fetch_users(connection):
    cursor = connection.cursor()
    select_users_query = "SELECT * FROM users"
    try:
        cursor.execute(select_users_query)
        users = cursor.fetchall()
        for user in users:
            print(user)
    except Error as e:
        print(f"读取用户失败: {e}")
    finally:
        cursor.close()

fetch_users(connection)

4. 更新数据

更新数据库中的数据:

def update_user_age(connection, user_id, new_age):
    cursor = connection.cursor()
    update_user_query = "UPDATE users SET age = %s WHERE id = %s"
    try:
        cursor.execute(update_user_query, (new_age, user_id))
        connection.commit()
        print("用户年龄更新成功")
    except Error as e:
        print(f"更新用户失败: {e}")
    finally:
        cursor.close()

update_user_age(connection, 1, 26)

5. 删除数据

从数据库中删除数据:

def delete_user(connection, user_id):
    cursor = connection.cursor()
    delete_user_query = "DELETE FROM users WHERE id = %s"
    try:
        cursor.execute(delete_user_query, (user_id,))
        connection.commit()
        print("用户删除成功")
    except Error as e:
        print(f"删除用户失败: {e}")
    finally:
        cursor.close()

delete_user(connection, 2)

四、关闭数据库连接

在完成所有操作后,我们应当关闭数据库连接:

if connection.is_connected():
    connection.close()
    print("数据库连接已关闭")

五、总结

本文介绍了如何在Python中操作MySQL数据库,包括连接数据库、创建数据表、执行CRUD操作,以及关闭连接等基本操作。在实际开发中,处理数据库时要注意防范SQL注入,合理设计数据库结构,确保数据安全与一致性。希望本文能对您使用Python操作MySQL有所帮助!

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部