Как импортировать csv-файл в MySQL workbench?


у меня есть CSV-файл. Он содержит 1,4 миллиона строк данных, поэтому я не могу открыть этот csv-файл в Excel, потому что его предел составляет около 1 миллиона строк.

поэтому я хочу импортировать этот файл в MySQL workbench. Этот файл csv содержит столбцы типа

"Service Area Code","Phone Numbers","Preferences","Opstype","Phone Type"

Я пытаюсь создать таблицу в MySQL workbench с именем "dummy", содержащую столбцы, такие как

ServiceAreaCodes,PhoneNumbers,Preferences,Opstyp,PhoneTyp. 

CSV-файл называется model.csv. Мой код в верстаке выглядит так это:

LOAD DATA LOCAL INFILE 'model.csv' INTO TABLE test.dummy FIELDS TERMINATED BY ',' lines terminated by 'n';

но я получаю ошибку, как model.CSV file not found

7 79

7 ответов:

Я думаю, вы пропустили прилагаемое предложение

LOAD DATA LOCAL INFILE '/path/to/your/csv/file/model.csv'
INTO TABLE test.dummy FIELDS TERMINATED BY ','
ENCLOSED BY '"' LINES TERMINATED BY '\n';

и укажите полный путь к csv-файлу

Load Data Infile-MySQL documentation

в случае, если у вас есть меньший набор данных, способ достичь его с помощью графического интерфейса:

  1. откройте окно запроса
  2. SELECT * FROM [table_name]
  3. выберите Импорт в строке меню
  4. Нажмите кнопку Применить в правом нижнем углу под сеткой результатов

enter image description here

ссылка: http://www.youtube.com/watch?v=tnhJa_zYNVY

в навигаторе в разделе схемы щелкните правой кнопкой мыши схему / базу данных и выберите "мастер импорта табличных данных"

работает и для mac.

на данный момент невозможно импортировать CSV (используя MySQL Workbench) на всех платформах, и не рекомендуется, если указанный файл не находится на том же хосте, что и хост сервера MySQL.

однако, вы можете использовать mysqlimport.

пример:

mysqlimport --local --compress --user=username --password --host=hostname \
--fields-terminated-by=',' Acme sales.part_*

в этом примере mysqlimport поручено загрузить все файлы с именем " sales "с расширением, начинающимся с"part_". Это удобный способ загрузить все файлы, созданные в "сплит" пример. Используйте параметр --compress для минимизации сетевого трафика. Параметр --fields-terminated-by=', ' используется для файлов CSV, а параметр --local указывает, что входящие данные находятся на клиенте. Без параметра --local MySQL будет искать данные на хосте базы данных, поэтому всегда указывайте параметр --local.

есть полезная информация по этому вопросу в документация AWS RDS.

Если сервер находится на удаленной машине, убедитесь, что файл находится на удаленной машине, а не на вашей локальной машине.

Если файл находится на той же машине, где находится сервер mysql, убедитесь, что у пользователя mysql есть разрешения на чтение / запись файла или копирование файла в каталог схемы mysql:

в моем случае в ubuntu это было:/var/lib/mysql/db_myschema / myfile.csv

кроме того, не относительно этой проблемы, но если у вас есть проблемы с новым строки, используйте sublimeTEXT, чтобы изменить окончание строки в формат WINDOWS, сохраните файл и повторите попытку.

Это кажется немного хитрым, так как это действительно беспокоило меня в течение долгого времени.

вам просто нужно открыть таблицу (щелкните правой кнопкой мыши "Select Rows-Limit 10000"), и вы откроете новое окно. В этом новом окне, вы найдете значок "импорт".

вы можете использовать MySQL Мастер Импорта Табличных Данных