Python远程将数据写入Mysql

使用Python将数据写入MySQL数据库

  1. 默认安装好Python环境,安装所需库: 确保已经安装了用于连接MySQL的Python库,如 pymysqlmysql-connector-python。如果尚未安装,可以使用 pip 安装:

    pip install pymysql
    

    pip install mysql-connector-python
    
  2. 连接到MySQL数据库: 创建一个数据库连接对象,提供数据库服务器的主机名(或IP地址)、端口、数据库名、用户名和密码。

    import pymysql
    
    # 连接参数
    host = 'localhost'
    port = 3306
    user = 'your_username'
    password = 'your_password'
    database = 'your_database'# 创建连接
    connection = pymysql.connect(
        host=host,
        port=port,
        user=user,
        password=password,
        db=database,
        charset='utf8mb4'  # 设置字符编码
    )
    
  3. 创建游标并执行SQL语句: 通过连接对象创建一个游标对象,然后使用游标执行INSERT、UPDATE、DELETE等写操作语句。

    cursor = connection.cursor()
    
    # 假设要插入一条数据到名为 'table_name' 的表中
    data = {
        'column1': 'value1',
        'column2': 'value2',
        # ... 其他列和值
    }
    # 构建INSERT语句
    columns = ', '.join(data.keys())
    values = ', '.join(f"'{v}'" for v in data.values())  
    # 注意适当转义或预处理数据以防止SQL注入
    insert_query = f"INSERT INTO table_name ({columns}) VALUES ({values})"
    # 执行写操作cursor.execute(insert_query)
    
  4. 提交事务: 如果您在进行多条写操作或者需要确保数据一致性,记得在所有操作完成后提交事务。

    Python

    connection.commit()
    
  5. 关闭游标和连接: 完成数据写入后,关闭游标和连接以释放资源。

    cursor.close()
    connection.close()
    

整合上述代码片段,完整的示例如下:

import pymysql

def write_data_to_mysql(data, table_name):
    # 连接参数
    host = 'localhost'
    port = 3306
    user = 'your_username'
    password = 'your_password'
    database = 'your_database'

    # 创建连接
    connection = pymysql.connect(
        host=host,
        port=port,
        user=user,
        password=password,
        db=database,
        charset='utf8mb4'
    )

    try:
        cursor = connection.cursor()
        # 假设data是一个字典,包含要插入的数据
        columns = ', '.join(data.keys())
        values = ', '.join(f"'{v}'" for v in data.values())
        insert_query = f"INSERT INTO {table_name} ({columns}) VALUES ({values})"

        # 执行写操作
        cursor.execute(insert_query)

        # 提交事务
        connection.commit()
    finally:
        cursor.close()
        connection.close()

# 示例数据
example_data = {
    'column1': 'value1',
    'column2': 'value2',
}

# 调用函数写入数据
write_data_to_mysql(example_data,'your_table_name')

替换代码中的 your_usernameyour_passwordyour_databaseyour_table_name 以及 example_data 中的列名和值为实际的数据库凭据和要写入的数据。同时,确保表结构与提供的数据匹配,即列名正确且数据类型兼容。

对于敏感数据,建议使用参数化查询或预编译语句来防止SQL注入攻击。
下篇预告:
Python将传感器或相机采集的结构化和非结构化数据写入Redis数据库
Python远程将文本、音频等数据写入Mysql或Redis附上云策略 强推 已加更

了解更多知识请戳下:

@Author:懒羊羊

你可能感兴趣的:(SQL,python,mysql,开发语言,数据库,sql)