Как импортировать файл excel в базу данных MySQL



может кто-нибудь объяснить, как импортировать файл Excel в базу данных MySQL?



например, моя таблица Excel выглядит так:



Country   |   Amount   |   Qty
----------------------------------
America | 93 | 0.60

Greece | 9377 | 0.80

Australia | 9375 | 0.80


спасибо заранее.



Fero

4772   10  

10 ответов:

  1. экспортировать его в текстовый формат. Самым простым, вероятно, будет версия с разделителями табуляции, но CSV также может работать.

  2. используйте возможность загрузки данных. См.http://dev.mysql.com/doc/refman/5.1/en/load-data.html

  3. посмотрите на полпути вниз по странице, так как это даст хороший пример для данных, разделенных вкладками:

    поля заканчиваются на '\t', заключенные в " Escape BY '\ '

  4. Проверьте свои данные. Иногда цитирование или экранирование имеет проблемы, и вам нужно настроить свой источник, команду импорта-или это может быть просто проще после обработки через SQL.

есть простой онлайн-инструмент, который может сделать это под названием sqlizer.io.

Screenshot from sqlizer.com

вы загружаете файл XLSX в него, вводите имя листа и диапазон ячеек, и он будет генерировать инструкцию CREATE TABLE и кучу инструкций INSERT для импорта всех ваших данных в базу данных MySQL.

на самом деле существует несколько способов импорта файла excel в базу данных MySQL с различной степенью сложности и успеха.

  1. Excel2MySQL или программа коммунальные услуги. Полное раскрытие информации, я являюсь автором Excel2MySQL. Эти 2 утилиты не являются бесплатными, но они являются самым простым вариантом и имеют наименьшее количество ограничений. Они также включают в себя дополнительные функции, чтобы помочь с импортом данных Excel в MySQL. Например, Excel2MySQL автоматически создает таблицу и автоматически оптимизирует типы данных полей, такие как даты, время, поплавки и т. д. Если вы торопитесь или не можете получить другие варианты для работы с вашими данными, то эти утилиты могут удовлетворить ваши потребности.

    screenshot of Excel2MySQL

  2. ЗАГРУЗИТЬ ФАЙЛ ДАННЫХ: этот популярный вариант, пожалуй, самый технический и требует некоторого понимания выполнения команд MySQL. Вы должны вручную создайте таблицу перед загрузкой и используйте типы полей VARCHAR соответствующего размера. Таким образом типы данных поля не оптимизированы. LOAD DATA INFILE имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet". Особое внимание требуется, чтобы избежать проблем с импортом специальных символов и иностранных символов Юникода. Вот недавний пример, который я использовал для импорта csv-файла с именем тест.csv.

    enter image description here

  3. phpMyAdmin: Сначала выберите базу данных, затем перейдите на вкладку импорт. phpMyAdmin автоматически создаст вашу таблицу и размер ваших полей VARCHAR, но не будет оптимизировать типы полей. phpMyAdmin имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet".

    enter image description here

  4. MySQL для Excel: это a бесплатная надстройка Excel от Oracle. Этот вариант немного утомителен, потому что он использует мастер, а импорт медленный и глючит с большими файлами, но это может быть хорошим вариантом для небольших файлов с данными VARCHAR. Поля не оптимизированы.

    enter image description here

Ниже приведен еще один способ импорта данных электронных таблиц в базу данных MySQL, которая не зависит от какого-либо дополнительного программного обеспечения. Предположим, вы хотите импортировать таблицу Excel в sales таблица базы данных MySQL с именем mydatabase.

  1. выберите соответствующие ячейки:

    enter image description here

  2. вставить в Г-Н Конвертер Данных и выберите выход MySQL:

    enter image description here

  3. измените имя таблицы и определения столбцов в соответствии с вашими требованиями в сгенерированном выводе:

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);
  1. если вы используете 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:

http://dev.mysql.com/doc/refman/5.1/en/load-data.html

при использовании текстовых файлов для импорта данных у меня были проблемы с кавычками и тем, как 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

    Ничего не найдено.