Я импортирую данные из 20000 строк из файла CSV в Mysql.
Столбцы в CSV расположены в другом порядке, чем столбцы таблицы MySQL. Как автоматически назначать столбцы, соответствующие столбцам таблицы Mysql?
Когда я выполняю
LOAD DATA INFILE'abc.csv' INTO TABLE abc
этот запрос добавляет все данные в первый столбец.
Предложите автоматический синтаксис для импорта данных в Mysql.
mysql
csv
import
load-data-infile
МАНЖЕТ
источник
источник
Ответы:
Вы можете использовать команду LOAD DATA INFILE для импорта файла csv в таблицу.
Проверьте эту ссылку MySQL - ЗАГРУЗИТЬ ДАННЫЕ INFILE .
Для пользователей MySQL 8.0:
Использование
LOCAL
ключевого слова удерживает риски безопасности, и начиная с MySQL 8.0 этаLOCAL
возможность установленаFalse
по умолчанию. Вы можете увидеть ошибку:Вы можете перезаписать его, следуя инструкциям в документации . Помните, что такая перезапись не решает проблему безопасности, а лишь подтверждает, что вы осведомлены и готовы пойти на риск.
источник
IGNORE 1 LINES
именно здесь происходит? Заранее спасибо.Вероятно, вам нужно установить
FIELDS TERMINATED BY ','
или любой другой разделитель.Для файла CSV ваша инструкция должна выглядеть так:
источник
Перед импортом файла вам необходимо подготовить следующее:
Предположим, у нас есть следующая таблица:
СОЗДАТЬ ТАБЛИЦУ ПО СЛЕДУЮЩЕМУ ЗАПРОСУ:
Если все в порядке ... Выполните следующий запрос, чтобы ЗАГРУЗИТЬ ДАННЫЕ ИЗ CSV-ФАЙЛА:
Если все сделали. вы успешно экспортировали данные из CSV в таблицу
источник
Синтаксис:
См. Этот пример:
источник
Вставить в базу данных более 7000000 записей за 1 минуту (сверхбыстрый запрос с расчетом)
RRP, RRP_nl и RRP_bl не находятся в csv, но мы вычисляем это и после вставляем это.
источник
Если вы работаете
LOAD DATA LOCAL INFILE
из оболочки Windows и вам нужно использоватьOPTIONALLY ENCLOSED BY '"'
, вам нужно будет сделать что-то вроде этого, чтобы правильно экранировать символы:источник
предположим, вы используете xampp и phpmyadmin
у вас есть имя файла «rating.txt» имя таблицы «рейтинги» и имя базы данных «фильмы»
если ваш xampp установлен в "C: \ xampp \"
скопируйте ваш файл "rating.txt" в папку "C: \ xampp \ mysql \ data \ movies"
Надеюсь, это поможет вам опустить ошибку, если вы делаете это на localhost.
источник
Вы можете загружать данные из CSV или текстового файла. Если у вас есть текстовый файл с записями из таблицы, вы можете загрузить эти записи в таблицу. Например, если у вас есть текстовый файл, где каждая строка представляет собой запись со значениями для каждого столбца, вы можете загрузить записи таким образом.
table.sql
table.txt
- пример на окнах
источник
Я получал код ошибки: 1290. Сервер MySQL работает с параметром --secure-file-priv, поэтому он не может выполнить этот оператор.
Это сработало для меня на 64-разрядной версии Windows 8.1 с использованием 64-разрядной версии wampserver 3.0.6.
Отредактировал файл my.ini из C: \ wamp64 \ bin \ mysql \ mysql5.7.14
Удалите запись secure_file_priv c: \ wamp64 \ tmp \ (или любой другой каталог, который у вас есть)
Остановил все - выйти из wamp и т. Д. - и все перезапустил; затем разместите мой файл cvs на C: \ wamp64 \ bin \ mysql \ mysql5.7.14 \ data \ u242349266_recur (последний каталог - это имя моей базы данных)
выполненный LOAD DATA INFILE 'myfile.csv'
INTO TABLE выпускники
ПОЛЯ, ЗАКОНЧЕННЫЕ ','
ЗАКРЫТО '"'
ЛИНИИ, ЗАКАНЧИВАЕМЫЕ НА '\ r \ n'
ИГНОРИРОВАТЬ 1 СТРОКУ
... и ВОЙЛА !!!
источник
Можно попробовать вставить вот так:
источник
В настоящее время (до конца 2019 года) я предпочитаю использовать такой инструмент, как http://www.convertcsv.com/csv-to-sql.htm. У вас есть много строк, в которых вы можете запускать секционированные блоки, сохраняя ошибки пользователя, когда csv поступает из итоговая пользовательская электронная таблица.
источник