Как импортировать файл excel в базу данных MySQL
может кто-нибудь объяснить, как импортировать файл Excel в базу данных MySQL?
например, моя таблица Excel выглядит так:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
спасибо заранее.
Феро
10 ответов
экспортировать его в текстовый формат. Самым простым, вероятно, будет версия с разделителями табуляции, но CSV также может работать.
используйте возможность загрузки данных. См.http://dev.mysql.com/doc/refman/5.1/en/load-data.html
-
посмотрите на полпути вниз по странице, так как это даст хороший пример для данных, разделенных вкладками:
поля завершается '\Т' обнесенные " убежали '\'
Проверьте свои данные. Иногда цитирование или экранирование имеет проблемы, и вам нужно настроить свой источник, команду импорта-или это может быть просто проще после обработки через SQL.
есть простой онлайн-инструмент, который может сделать это под названием sqlizer.Ио.
вы загружаете файл XLSX в него, вводите имя листа и диапазон ячеек, и он будет генерировать оператор CREATE TABLE и кучу инструкций INSERT для импорта всех ваших данных в базу данных MySQL.
на самом деле существует несколько способов импорта файла excel в базу данных MySQL с различной степенью сложности и успеха.
-
Excel2MySQL или Navicat коммунальные услуги. Полное раскрытие, я автор Excel2MySQL. Эти 2 утилиты не бесплатны, но они являются самым простым вариантом и имеют наименьшие ограничения. Они также включают дополнительные функции, помогающие импортировать данные Excel в Для MySQL. Например, Excel2MySQL автоматически создает таблицу и автоматически оптимизирует типы данных полей, такие как даты, время, поплавки и т. д. Если вы торопитесь или не можете получить другие опции для работы с вашими данными, эти утилиты могут удовлетворить ваши потребности.
-
ЗАГРУЗИТЬ ДАННЫЕ INFILE: этот популярный вариант, возможно, самый технический и требует некоторого понимания выполнения команды MySQL. Вы должны вручную создайте таблицу перед загрузкой и используйте типы полей VARCHAR соответствующего размера. Поэтому типы данных полей не оптимизированы. Загрузка данных INFILE имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet". Особое внимание необходимо, чтобы избежать проблем с импортом специальных символов и иностранных символов Юникода. Вот недавний пример, который я использовал для импорта файла csv с именем тест.csv.
-
phpMyAdmin и: сначала выберите базу данных, затем перейдите на вкладку импорт. phpMyAdmin автоматически создаст вашу таблицу и размер ваших полей VARCHAR, но не оптимизирует типы полей. phpMyAdmin имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet".
-
MySQL для Excel: это бесплатная надстройка Excel от Oracle. Этот параметр немного утомителен, потому что он использует мастер, а импорт медленный и багги с большими файлами, но это может быть хорошим вариантом для небольших файлов с данными VARCHAR. Поля не оптимизированы.
Ниже приведен еще один метод импорта данных электронных таблиц в базу данных MySQL, которая не зависит от какого-либо дополнительного программного обеспечения. Предположим, вы хотите импортировать таблицу Excel в sales
таблица базы данных MySQL с именем mydatabase
.
-
выберите соответствующие ячейки:
-
вставить в Мистер Конвертер Данных и выберите выход MySQL:
измените имя таблицы и определения столбцов в соответствии с вашими требованиями в сгенерированном выводе:
CREATE TABLE sales (
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
Country VARCHAR(255),
Amount INT,
Qty FLOAT
);
INSERT INTO sales
(Country,Amount,Qty)
VALUES
('America',93,0.60),
('Greece',9377,0.80),
('Australia',9375,0.80);
-
если вы используете MySQL Workbench или уже вошли в
mysql
из командной строки, то вы можете выполнить сгенерированные операторы SQL с шага 3 непосредственно. В противном случае, вставьте код в текстовый файл (например,import.sql
) и выполните эту команды из оболочки Unix:mysql mydatabase < import.sql
другие способы импорта из файла SQL можно найти в этот ответ переполнения стека.
Не уверен, что у вас есть вся эта настройка, но для меня я использую PHP и MYSQL. Поэтому я использую PHP-класс PHPExcel. Это занимает файл практически в любом формате, xls, xlsx, cvs,... а затем позволяет читать и / или вставлять.
Так что я заканчиваю тем, что загружаю excel в объект phpexcel, а затем перебираю все строки. Основываясь на том, что я хочу, я пишу простую команду SQL insert для вставки данных в файл excel в мою таблицу.
на переднем конце немного работа, но это всего лишь вопрос настройки некоторых существующих примеров кода. Но когда вы набрали его при внесении изменений в импорт, это просто и быстро.
лучший и самый простой способ-использовать приложение "MySQL for Excel", которое является бесплатным приложением от oracle. это приложение добавило плагин для excel для экспорта и импорта данных в mysql. вы можете скачать это из здесь
для пошагового примера для импорт Excel 2007 в MySQL с правильной кодировкой (UTF-8) поиск этого комментария:
"опубликовано Майк Лэрд октября 13 2010 12: 50"
в следующем URL:
при использовании текстовых файлов для импорта данных у меня были проблемы с кавычками и как Excel форматировал числа. Например, моя конфигурация Excel используется запятая в качестве десятичного разделителя вместо точки.
теперь я использую Microsoft открыть 2010, чтобы открыть мою таблицу MySql как связанную таблицу. Там я могу просто скопировать и вставить ячейки из Excel в Access.
для этого сначала установить драйвер ODBC для MySQL создать ODBC для связи. Затем в access, на вкладке "внешние данные", откройте диалоговое окно" база данных ODBC " и ссылку на любую таблицу с помощью подключения ODBC.
можно использовать DocChow, очень интуитивный GIU для импорта Excel в MySQL, и это бесплатно на большинстве распространенных платформ (включая Linux).
особенно, если вас беспокоит дата, типы данных datetime,DocChow легко обрабатывает типы данных. Если вы работаете с несколькими электронными таблицами Excel, которые вы хотите импортировать в одну таблицу MySQL, DocChow выполняет грязную работу.
Шаг 1 Создайте CSV-файл
Шаг 2 Войдите в свой mysql server
mysql -uroot -pyourpassword
Шаг 3 загрузите csv-файл
load data local infile '//home/my-sys/my-excel.csv' into table my_tables fields terminated by ',' enclosed by '"' (Country, Amount,Qty);