python连接mysql数据库示例(做增删改操作)


下面是一个使用Python连接MySQL数据库并进行增删改操作的示例。在这个示例中,我们将使用`mysql-connector-python`库,这是MySQL官方提供的Python数据库连接器。如果你还没有安装这个库,可以通过pip安装:


pip install mysql-connector-python

接下来是Python代码示例:


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

def execute_query(connection, query):
    """ 执行查询 """
    cursor = None
    try:
        cursor = connection.cursor()
        cursor.execute(query)
        connection.commit()
        print("查询成功")
    except Error as e:
        print(f"查询失败:{e}")
    finally:
        if (connection.is_connected()):
            cursor.close()

def main():
    host_name = "localhost"
    user_name = "your_username"  # 请替换为你的MySQL用户名
    user_password = "your_password"  # 请替换为你的MySQL密码
    db_name = "your_database"  # 请替换为你的数据库名

    # 创建数据库连接
    connection = create_connection(host_name, user_name, user_password, db_name)

    # 插入数据
    insert_query = """
    INSERT INTO your_table_name (column1, column2, column3)
    VALUES (%s, %s, %s)
    """
    values = ("value1", "value2", "value3")  # 请根据你的表结构替换值
    execute_query(connection, insert_query, values)

    # 更新数据
    update_query = """
    UPDATE your_table_name
    SET column1 = %s
    WHERE condition = %s
    """
    update_values = ("new_value1", "condition_value")  # 请根据你的表结构替换值
    execute_query(connection, update_query, update_values)

    # 删除数据
    delete_query = """
    DELETE FROM your_table_name
    WHERE condition = %s
    """
    delete_values = ("condition_value",)  # 请根据你的表结构替换条件值
    execute_query(connection, delete_query, delete_values)

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

if __name__ == '__main__':
    main()

**注意**:

1. 替换`your_username`、`your_password`、`your_database`、`your_table_name`、`column1`、`column2`、`column3`、`value1`、`value2`、`value3`、`new_value1`、`condition_value`等占位符为你自己的数据库信息、表名、列名和值。

2. 确保你的MySQL服务正在运行,并且你有足够的权限来执行这些操作。

3. 示例中的`execute_query`函数需要修改以支持带参数的查询,因为原始版本没有处理查询参数。但由于篇幅和清晰度的考虑,这里直接传递了完整的查询字符串(包括参数占位符),并在调用时传递了参数值。在实际应用中,你应该使用参数化查询来防止SQL注入攻击。但在这个简单的示例中,为了保持简洁性,我省略了这部分细节。