Полное руководство: заполнение таблицы MySQL из существующего файла CSV

Импорт данных из файла CSV в таблицу MySQL — распространенная задача при управлении базами данных. В этой статье мы рассмотрим несколько методов решения этой задачи, приведя примеры кода для каждого подхода. К концу этого руководства вы получите четкое представление о различных методах заполнения таблицы MySQL из существующего файла CSV.

Метод 1: использование оператора LOAD DATA INFILE
Пример кода:

LOAD DATA INFILE '/path/to/yourfile.csv'
INTO TABLE your_table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Метод 2: использование мастера импорта MySQL в MySQL Workbench

  1. Запустите MySQL Workbench и подключитесь к серверу MySQL.
  2. Откройте меню «Сервер» и выберите «Импорт данных».
  3. Выберите параметр «Импортировать из автономного файла» и найдите файл CSV.
  4. Выберите целевую схему и таблицу.
  5. Сопоставьте столбцы из CSV-файла со столбцами таблицы.
  6. Нажмите «Начать импорт», чтобы заполнить таблицу.

Метод 3: использование инструмента командной строки MySQL (mysqlimport)
Пример кода:

mysqlimport --local --ignore-lines=1 --fields-terminated-by=',' --fields-enclosed-by='"' --lines-terminated-by='\n' -u your_username -p your_database your_table_name /path/to/yourfile.csv

Метод 4: использование языка сценариев (например, Python)
Пример кода (Python):

import csv
import MySQLdb
# Database connection details
db = MySQLdb.connect(host="localhost", user="your_username", passwd="your_password", db="your_database")
cursor = db.cursor()
# CSV file details
csv_file = '/path/to/yourfile.csv'
table_name = 'your_table_name'
# Read CSV and insert rows into the table
with open(csv_file, 'r') as file:
    csv_data = csv.reader(file)
    next(csv_data)  # Skip header row
    for row in csv_data:
        cursor.execute('INSERT INTO {} VALUES ({})'.format(table_name, ','.join(['%s'] * len(row))), row)
# Commit changes and close the database connection
db.commit()
db.close()

Заполнить таблицу MySQL из существующего файла CSV можно различными способами. В этой статье были рассмотрены четыре распространенных подхода: использование оператора LOAD DATA INFILE, мастера импорта MySQL в MySQL Workbench, инструмента командной строки mysqlimport и языка сценариев, такого как Python. Каждый метод обеспечивает гибкость и может быть выбран в зависимости от ваших конкретных требований. Теперь у вас есть знания и примеры кода для эффективного импорта данных из файлов CSV в таблицы MySQL.

Не забудьте оптимизировать базу данных MySQL для повышения производительности при работе с большими файлами CSV или частым импортом. Приятного кодирования!