Если ваша таблица имеет первичный ключ или уникальный индекс, вы можете использовать оператор REPLACE со всеми вашими данными сразу:
REPLACE INTO foo (id, bar) VALUES (NULL, 'baz'), (1, 'hello');
Строка будет вставлена, если она имеетне существует или если первичный ключ / уникальный индекс не указан.Если первичный ключ или уникальный индекс найден, он будет обновлен.
Кроме того, когда MySQL выполняет UPDATE (или когда он обновляется через REPLACE), он проверяет каждое значение, чтобы увидеть, изменилось ли оно автоматически(без необходимости делать это самостоятельно) и оставить все как есть, если нет, без каких-либо дополнительных операций.