Методы цикла и вставки данных в MySQL с примерами кода

Чтобы зациклить и вставить данные в MySQL, используя разные методы, я предоставлю вам три распространенных подхода вместе с примерами кода. Обратите внимание, что в примерах предполагается, что у вас есть базовое понимание MySQL и уже установлено соединение с базой данных.

Метод 1. Использование цикла FOR в языке программирования (Python)

import mysql.connector
# Establish database connection
cnx = mysql.connector.connect(user='your_username', password='your_password', host='localhost', database='your_database')
cursor = cnx.cursor()
# Example data to insert
data = [('John', 25), ('Kate', 30), ('Mike', 28)]
# Loop and insert data
for item in data:
    name, age = item
    query = "INSERT INTO your_table (name, age) VALUES (%s, %s)"
    values = (name, age)
    cursor.execute(query, values)
# Commit changes and close connection
cnx.commit()
cursor.close()
cnx.close()

Метод 2: использование одного оператора INSERT с несколькими наборами значений

import mysql.connector
# Establish database connection
cnx = mysql.connector.connect(user='your_username', password='your_password', host='localhost', database='your_database')
cursor = cnx.cursor()
# Example data to insert
data = [('John', 25), ('Kate', 30), ('Mike', 28)]
# Prepare query
query = "INSERT INTO your_table (name, age) VALUES (%s, %s)"
# Build a list of values to insert
values = [item for item in data]
# Execute the query with multiple value sets
cursor.executemany(query, values)
# Commit changes and close connection
cnx.commit()
cursor.close()
cnx.close()

Метод 3. Использование оператора LOAD DATA INFILE с временным CSV-файлом

import csv
import mysql.connector
# Establish database connection
cnx = mysql.connector.connect(user='your_username', password='your_password', host='localhost', database='your_database')
cursor = cnx.cursor()
# Example data to insert
data = [('John', 25), ('Kate', 30), ('Mike', 28)]
# Define a temporary CSV file path
csv_file = 'temp_data.csv'
# Write data to the CSV file
with open(csv_file, 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)
# Prepare query
query = "LOAD DATA INFILE '{}' INTO TABLE your_table FIELDS TERMINATED BY ',' ENCLOSED BY '\"' (name, age)".format(csv_file)
# Execute the query to load data from the CSV file
cursor.execute(query)
# Commit changes and close connection
cnx.commit()
cursor.close()
cnx.close()

Замените 'ваше_имя_пользователя', 'ваш_пароль', 'localhost', 'ваша_база_данных', 'your_table'с соответствующими значениями, специфичными для вашей настройки MySQL.