Импорт листов Excel в MySQL со значениями, относящимися к отдельной таблице - PullRequest
0 голосов
/ 15 ноября 2010

Во-первых, это может быть неправильное место, чтобы задать этот вопрос. Итак, искренние извинения за это!

У меня есть две таблицы MySQL следующим образом:

Первая таблица: employee_data

id   name         address        phone_no

1    Mark         Some Street    647-981-1512

2    Adam         Some Street    647-981-1214

3    John         Some Street    647-981-1452

Вторая таблица: employee_wages

id   employee_id         wages        start_date

1       3                $15          12 March 2007

2       1                $20          10 Oct 2008

3       2                $18          2 June 2006

Я знаю, обе эти таблицы можно объединить в одну, и нет необходимости разбивать эти данные на две таблицы. Но то, над чем я работаю, требует, чтобы эти данные были отдельными и находились в двух разных таблицах.

Раньше моя компания ранее обрабатывала все эти данные в листах Excel, и они следовали общепринятому методу объединения этих двух таблиц в один лист следующим образом:

Excel Sheets

id   name           wages         start_date

1    Mark           $20           10 Oct 2008

2    Adam           $18           2 June 2006

3    John           $15           12 March 2007

Теперь цель - экспортировать данные из листов Excel в таблицы MySQL.

Как вы можете заметить, employee_data.id связан с employee_wages.employee_id

Как я могу заменить значения в столбце «Имя» листа Excel так, чтобы они представляли собой фактический уникальный идентификатор, указанный в столбце employee_data.id ..

Может быть, я могу сделать это с помощью PHP / MySQL или я могу сделать это в VB Script ... Но я не эксперт в VB Script ..

Любая помощь будет высоко ценится.

Спасибо!

Ответы [ 3 ]

1 голос
/ 10 ноября 2012

Сохранение данных Excel в виде csv-файла (в Excel 2007 с использованием команды «Сохранить как»)

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

Запустите командную строку MySQL (я ленив, поэтому обычно делаю это из браузера запросов MySQL - Инструменты - Клиент командной строки MySQL, чтобы избежать ввода имени пользователя и пароля и т. Д.)

Введите эту команду:

LOAD DATA LOCAL INFILE ‘C:\\temp\\yourfile.csv’ INTO TABLE database.table FIELDS TERMINATED BY ‘;’ ENCLOSED BY ‘”‘ LINES TERMINATED BY ‘\r\n’ (field1, field2);

[Редактировать: Обязательно проверяйте одинарные кавычки (') и двойные кавычки ("), если вы копируете и вставляете этот код - кажется, WordPress превращает их в нечто подобноено разные персонажи] Готово!

0 голосов
/ 15 ноября 2010

Вы можете запросить MySQL из Excel, в этом примере используется INSERT: Excel VBA: запись в базу данных mysql

Набор записей может быть записан в Excel с помощью CopyRecordset: http://support.microsoft.com/kb/246335

0 голосов
/ 15 ноября 2010

используйте функцию vlookup в Excel.

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