Как импортировать файл excel в базу данных MySQL
может кто-нибудь объяснить, как импортировать файл Excel в базу данных MySQL?
например, моя таблица Excel выглядит так:
Country | Amount | Qty
----------------------------------
America | 93 | 0.60
Greece | 9377 | 0.80
Australia | 9375 | 0.80
спасибо заранее.
Fero
10 ответов:
экспортировать его в текстовый формат. Самым простым, вероятно, будет версия с разделителями табуляции, но CSV также может работать.
используйте возможность загрузки данных. См.http://dev.mysql.com/doc/refman/5.1/en/load-data.html
посмотрите на полпути вниз по странице, так как это даст хороший пример для данных, разделенных вкладками:
поля заканчиваются на '\t', заключенные в " Escape BY '\ '
Проверьте свои данные. Иногда цитирование или экранирование имеет проблемы, и вам нужно настроить свой источник, команду импорта-или это может быть просто проще после обработки через SQL.
есть простой онлайн-инструмент, который может сделать это под названием sqlizer.io.
вы загружаете файл XLSX в него, вводите имя листа и диапазон ячеек, и он будет генерировать инструкцию CREATE TABLE и кучу инструкций INSERT для импорта всех ваших данных в базу данных MySQL.
на самом деле существует несколько способов импорта файла excel в базу данных MySQL с различной степенью сложности и успеха.
Excel2MySQL или программа коммунальные услуги. Полное раскрытие информации, я являюсь автором Excel2MySQL. Эти 2 утилиты не являются бесплатными, но они являются самым простым вариантом и имеют наименьшее количество ограничений. Они также включают в себя дополнительные функции, чтобы помочь с импортом данных Excel в MySQL. Например, Excel2MySQL автоматически создает таблицу и автоматически оптимизирует типы данных полей, такие как даты, время, поплавки и т. д. Если вы торопитесь или не можете получить другие варианты для работы с вашими данными, то эти утилиты могут удовлетворить ваши потребности.
ЗАГРУЗИТЬ ФАЙЛ ДАННЫХ: этот популярный вариант, пожалуй, самый технический и требует некоторого понимания выполнения команд MySQL. Вы должны вручную создайте таблицу перед загрузкой и используйте типы полей VARCHAR соответствующего размера. Таким образом типы данных поля не оптимизированы. LOAD DATA INFILE имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet". Особое внимание требуется, чтобы избежать проблем с импортом специальных символов и иностранных символов Юникода. Вот недавний пример, который я использовал для импорта csv-файла с именем тест.csv.
phpMyAdmin: Сначала выберите базу данных, затем перейдите на вкладку импорт. phpMyAdmin автоматически создаст вашу таблицу и размер ваших полей VARCHAR, но не будет оптимизировать типы полей. phpMyAdmin имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet".
MySQL для Excel: это a бесплатная надстройка 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 для Excel", которое является бесплатным приложением от oracle. это приложение добавило плагин для excel для экспорта и импорта данных в mysql. вы можете скачать это с здесь
для пошагового примера для импорт Excel 2007 в MySQL с правильной кодировкой (UTF-8) поиск этого комментария:
"опубликовано Майк Лэрд 13 октября 2010 12: 50am"
в следующем 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
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);







Comments