/
Вопросы и ответы
/
SQL
/

Как загрузить excel в mysql

Как загрузить excel в mysql

3 года назад

Nikolai Gagarinov

Ответы

0

Несоответствие количества столбцов в CSV данных на строке 1.

Эта ошибка вышла при попытке импортировать файл по вашей инструкции

2 года назад

Алексей Д

0

Загрузка данных из Excel в MySQL

Чтобы загрузить данные из Excel в базу данных MySQL, можно выполнить следующие шаги:

Шаг 1: Преобразование Excel в CSV

Первым делом необходимо преобразовать ваш Excel файл (.xlsx или .xls) в формат CSV, так как большинство инструментов управления базами данных легче работают с данными в формате CSV.

  1. Откройте ваш Excel документ.
  2. Перейдите в меню Файл > Сохранить как.
  3. В диалоговом окне выберите местоположение файла, введите имя файла и выберите тип файла CSV (разделители - запятые) из выпадающего списка.
  4. Нажмите Сохранить.

Шаг 2: Создание таблицы в MySQL

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

1
2
3
4
5
CREATE TABLE my_table (
  column1 VARCHAR(255),
  column2 INT,
  column3 DATE
);

Шаг 3: Загрузка данных из CSV в MySQL

Для загрузки данных из CSV файла в MySQL таблицу можно использовать команду LOAD DATA INFILE. Эта команда позволяет загрузить данные непосредственно из файла на сервере или из файла на вашем компьютере.

Пример загрузки файла с сервера:

1
2
3
4
5
6
LOAD DATA INFILE '/path/to/your/csvfile.csv'
INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Пример загрузки файла с вашего компьютера (используйте LOCAL):

1
2
3
4
5
6
LOAD DATA LOCAL INFILE '/path/to/your/csvfile.csv'
INTO TABLE my_table
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;

Примечание: Путь к файлу должен быть абсолютным. Возможно, потребуется включить опцию --local-infile в вашем клиенте MySQL.

Шаг 4: Проверка данных

После загрузки данных рекомендуется проверить, все ли строки были корректно импортированы в вашу таблицу MySQL:

1
SELECT * FROM my_table;

Эти шаги помогут вам успешно загрузить данные из Excel файла в MySQL базу данных.

3 года назад

Elena Gromova

0

MySQL не читает файлы Excel напрямую. Сохраните таблицу в CSV и загрузите командой LOAD DATA или через графический клиент.

Шаг 1. Сохраните Excel в CSV

В Excel: Файл → Сохранить как → CSV UTF-8 (разделитель — запятая). Именно UTF-8: в обычном CSV русские буквы превратятся в «????».

Русская версия Excel часто ставит разделителем точку с запятой. Откройте CSV в текстовом редакторе и посмотрите, какой символ стоит между значениями.

Шаг 2. Создайте таблицу

Столбцы и их порядок должны совпадать с CSV:

1
2
3
4
5
CREATE TABLE products (
  name  VARCHAR(255),
  price DECIMAL(10, 2),
  qty   INT
);

Шаг 3. Загрузите данные

1
2
3
4
5
6
7
8
LOAD DATA LOCAL INFILE '/path/to/products.csv'
INTO TABLE products
CHARACTER SET utf8mb4
FIELDS TERMINATED BY ';'
OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES
(name, price, qty);
  • FIELDS TERMINATED BY — разделитель из шага 1: ';' или ','.
  • IGNORE 1 LINES пропускает строку с заголовками.
  • LINES TERMINATED BY '\r\n' — так заканчиваются строки в файлах из Windows.

Если сервер ответит Loading local data is disabled, включите параметр: SET GLOBAL local_infile = 1;, а клиент запустите с флагом mysql --local-infile=1 -u root -p.

Без командной строки

ПрограммаГде импорт
MySQL Workbenchправый клик по таблице → Table Data Import Wizard
phpMyAdminвкладка «Импорт» → формат CSV
DBeaverправый клик по таблице → Импорт данных → CSV

Ошибка «несоответствие количества столбцов»

Сообщение Column count doesn't match или «Invalid column count in CSV input on line 1» значит, что число столбцов в CSV и в таблице разное. Проверьте:

  1. Разделитель. Если в файле ;, а импорт ждёт ,, вся строка читается как один столбец.
  2. Строку заголовков. Её нужно пропустить: IGNORE 1 LINES или галочка «первая строка — названия столбцов».
  3. Пустые столбцы в конце. Excel иногда сохраняет лишние ;;; справа — удалите пустые столбцы перед сохранением.
  4. Запятые внутри значений. Текст с запятыми должен быть в кавычках, за это отвечает OPTIONALLY ENCLOSED BY '"'.

Числа и даты

Excel сохраняет дробные числа с запятой (99,90), а MySQL ждёт точку (99.90). Замените запятые перед импортом или поменяйте формат ячеек. Даты приведите к виду ГГГГ-ММ-ДД.

Импорт данных и работу с MySQL разбирают в курсе «SQL для разработчиков».

7 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845