Подтвердить что ты не робот

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

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

Например, моя таблица Excel выглядит следующим образом:

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

Greece    |   9377     |   0.80

Australia |   9375     |   0.80
4b9b3361

Ответ 1

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

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

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

    ПОЛЯ, ПРОВЕРЯЕМЫЕ '\ t', ВКЛЮЧЕНЫ '' ЭФФЕКТИВНЫМ '\'

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

Ответ 2

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

Screenshot from sqlizer.com

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

(Отказ от ответственности: я помогаю запустить SQLizer)

Ответ 3

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

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

    введите описание изображения здесь

  • Вставить в Mr. Data Converter и выберите вывод в формате 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);
  1. Если вы используете MySQL Workbench или уже вошли в mysql из командной строки, вы можете выполнить сгенерированный SQL непосредственно из шага 3. В противном случае вставьте код в текстовый файл (например, import.sql) и выполните эту команду из оболочки Unix:

    mysql mydatabase < import.sql

    Другие способы импорта из файла SQL можно найти в этом ответе на переполнение стека.

Ответ 4

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

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

    screenshot of Excel2MySQL

  • LOAD DATA INFILE. Этот популярный вариант, пожалуй, самый технический и требует некоторого понимания выполнения команды MySQL. Перед загрузкой и использованием типов полей VARCHAR соответствующего размера необходимо вручную создать таблицу. Поэтому ваши полевые типы данных не оптимизированы. LOAD DATA INFILE имеет проблемы с импортом больших файлов, которые превышают размер "max_allowed_packet". Особое внимание необходимо учесть, чтобы избежать проблем с импортом специальных символов и иностранных символов в Юникоде. Вот недавний пример, который я использовал для импорта csv файла с именем test.csv.

    enter image description here

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

    enter image description here

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

    enter image description here

Ответ 5

Не уверен, что у вас есть все настройки, но для меня я использую PHP и MYSQL. Поэтому я использую PHP-класс PHPExcel. Это принимает файл почти в любом формате, xls, xlsx, cvs,... и затем позволяет читать и/или вставлять.

Итак, что я делаю, это загрузка excel в объект phpexcel, а затем цикл через все строки. Основываясь на том, что я хочу, я пишу простую команду вставки SQL, чтобы вставить данные в файл excel в мою таблицу.

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

Ответ 6

лучший и самый простой способ - использовать приложение "MySQL для Excel", которое является бесплатным приложением от oracle. это приложение добавило плагин для Excel, чтобы экспортировать и импортировать данные в mysql. вы можете скачать это из здесь

Ответ 7

Для пошагового примера для импорта Excel 2007 в MySQL с правильной кодировкой (UTF-8) выполните поиск этого комментария:

"Написал Майк Лэйрд 13 октября 2010 12:50 утра

в следующем URL-адресе:

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

Ответ 8

При использовании текстовых файлов для импорта данных у меня были проблемы с кавычками и как Excel форматировал числа. Например, моя конфигурация Excel использовала запятую как десятичный разделитель вместо точки.

Теперь я использую Microsoft Access 2010, чтобы открыть таблицу MySql в качестве связанной таблицы. Там я могу просто скопировать и вставить ячейки из Excel в Access.

Для этого сначала установите MySql ODBC драйвер и создайте ODBC подключение. Затем в доступе на вкладке "Внешние данные" откройте диалоговое окно "База данных ODBC" и соединитесь с любой таблицей, используя соединение ODBC.

Ответ 9

Вы можете использовать DocChow, очень интуитивно понятный GIU для импорта Excel в MySQL и бесплатно на большинстве распространенных платформ (включая Linux),

Более конкретно, если вас беспокоят даты, datetime datatypes, DocChow легко обрабатывать типы данных. Если вы работаете с несколькими таблицами Excel, которые хотите импортировать в одну таблицу MySQL, DocChow выполняет грязную работу.

Ответ 10

Шаг 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);

Ответ 11

Еще один полезный инструмент, в качестве замены внешнего интерфейса MySQL, это Toad для MySQL. К сожалению, больше не поддерживается Quest, но великолепной IDE для MySQL, с мастерами IMPORT и EXPORT, обслуживающими большинство типов файлов.