Какой самый простой способ импортировать новую таблицу в MySQL v5 из CSV? - PullRequest
1 голос
/ 01 октября 2008

Я использую MySQL 5 на сервере Linux в моей локальной сети. Запуск Windows XP для моего рабочего стола. Посмотрел MySQL GUI Tools , но я не думаю, что они помогают. Я не могу установить apache на удаленный сервер и использовать что-то вроде PHPmyAdmin.

Ответы [ 9 ]

6 голосов
/ 01 октября 2008

посмотрите @ загрузите данные infile: http://dev.mysql.com/doc/refman/5.0/en/load-data.html

3 голосов
/ 02 октября 2008

Из оболочки MySQL или браузера запросов ...

Если у CSV нет заголовка:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable;

Если у CSV есть заголовок:

LOAD DATA INFILE 'mycsvfile.csv' INTO TABLE mytable IGNORE 1 LINES;
2 голосов
/ 01 октября 2008

Я использую SQLyog в моей системе Windows, которая имеет бесплатную версию Community Edition и имеет возможность импорта из CSV.

Я никогда не использовал эту опцию, поэтому не могу сказать, насколько она хороша. Тем не менее, SQLyog отлично подходит для всех других вещей, для которых я его использовал.

1 голос
/ 07 июля 2010

Приложение Toad творит чудеса и является бесплатным. Если у вас есть правильный файл CSV, он создаст таблицу и импортирует все данные для вас.

1 голос
/ 06 июля 2009

Я только что сделал это, используя LOAD DATA INFILE, но стоит отметить, что это не так просто, как пример Гарета (Кай совершенно прав, что вы должны посмотреть документацию ). Чтобы правильно импортировать значения через запятую, я использовал это:

LOAD DATA LOCAL INFILE 'mycsvfile.csv' INTO TABLE mytable 
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 LINES;

Предполагается, что файл CSV с кавычками вокруг каждого поля и одна строка заголовка в верхней части. (Возможно, вам не нужен LINES TERMINATED BY, так как он должен быть по умолчанию, но это хорошая практика, чтобы быть явным.)

1 голос
/ 01 октября 2008

Я бы использовал редактор электронных таблиц, чтобы сделать набор операторов SQL. Поставьте новый столбец в начале и добавьте insert into tablename values('. Добавьте другие столбцы для разделения данных с помощью кода, подобного '','. Готово с '');. Используйте функцию автозаполнения, чтобы перетащить эти ячейки на столько строк, сколько необходимо. Скопируйте весь лист в простой текстовый редактор и удалите лишние вкладки, предоставив вам простой набор операторов вставки.

Это решение, которое я могу использовать для любой системы баз данных и любого формата файла электронной таблицы. Кроме того, легко заполнить электронную таблицу из таких источников, как другие базы данных, или скопировать и вставить с веб-страницы. Это также довольно быстро и доступно с любого настольного компьютера, используя Excel, OpenOffice или Google Docs.

См. Мой пример электронной таблицы в Excel и OpenOffice версиях.

0 голосов
/ 04 декабря 2009

Toad для MySQL будет делать это хорошо, со значительным контролем над импортом (например, выборочно сопоставляя столбцы) и наиболее устойчиво это бесплатно.

Я также использовал SQLYog, но для этого у вас должна быть коммерческая версия, поскольку импорт из файла недоступен в версии сообщества.

Toad - отличное программное обеспечение, которое поставляется в версиях для всех основных баз данных, и в прошлом я также использовал версии MSSQL и Oracle. Рекомендуется.

0 голосов
/ 01 октября 2008

Если вы не возражаете против использования небольшого количества коммерческого программного обеспечения, тогда Navicat (http://mysql.navicat.com/) - очень полезный фрагмент программного обеспечения и доступен для Mac, Windows, Linux. Я регулярно использую его для импорта большого CSV-файла файл в базу данных.

0 голосов
/ 01 октября 2008

Напишите простой скрипт на Python, который анализирует CSV и вставляет его в таблицу.

Посмотрите на csv и mysqldb .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...