Сравнение данных с таблицей в базе данных - PullRequest
0 голосов
/ 02 января 2011

Я получаю необработанные данные в формате CSV и загружаю их в таблицу в базе данных MySQL (на которой функционирует мой веб-сайт).Я хочу сравнить более новый CSV с данными, загруженными из более старого CSV, и я хочу увидеть различия между ними (в основном я хочу представить необработанные данные с помощью таблицы).

У меня есть PHP, MySQL и мои настольные приложения (например, Excel) в моем распоряжении.Какой лучший способ пойти по этому поводу?Возможные способы, которыми я могу придумать:

  • Вставка более новых данных в Table_Copy, а затем как-то разнести две таблицы в mysql.
  • Каким-то образом запрашивать базу данных по сравнению с необработанными данными, нечтобы загрузить его.
  • Загрузка данных из базы данных в необработанный формат CSV, а затем сравнение двух необработанных CSV с использованием настольной программы

Ответы [ 3 ]

1 голос
/ 02 января 2011

Почему вы не используете предложение where для извлечения только новых данных? Например

select * from table where dateadded > '1-1-2011 18:18'

Это зависит от того, есть ли в вашей таблице столбец с добавленной датой и в который добавляется дата и время добавления данных.

0 голосов
/ 03 января 2011

Вы можете использовать следующие подходы

1) Сравнение таблицы базы данных - создайте копию таблицы и затем сравните данные.

Вы можете легко использовать специальные инструменты (например, Сравнение данных EMS ).

Вы также можете написать несколько простых запросов для достижения этой цели (например, выберите id из table_copy, который не включен (выберите id в таблице))

2) Используйте средство сравнения файлов, например winmerge Возьмите дамп обеих таблиц с точным методом, и они сравнят его.

Я использую оба подхода в зависимости от размера моих данных.Для меньших данных 2-й подход хорош.

0 голосов
/ 03 января 2011
diff <(mysqldump test old_csv --skip-extended-insert) <(mysqldump test new_csv --skip-extended-insert) --side-by-side --suppress-common-lines --width=690 | more 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...