Чтобы зациклить и вставить данные в 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.