Генерация операторов SQL UPDATE из файла CSV - PullRequest
0 голосов
/ 30 октября 2018

Пример:

User ID, Last Name, First Name, Start Date, End Date
    001, Pudding  , Chocolate , 10/01/2018, 10/30/2018
    002, Cake     , Carrot    , 10/06/2018, 11/07/2018
    003, Pie      , Apple     , 10/03/2018, 11/01/2018

И скажем, у меня уже есть пользователи для идентификаторов 001, 002, 003, и я хотел бы обновить их фамилию, имя, дату начала, дату окончания. Таблица слишком велика, чтобы использовать такой плагин, как «MySQL для Excel», потому что я не могу сузить свой поиск (приведенный выше пример упрощен)

Я думал сохранить это как .csv, открыть его в текстовом редакторе и попытаться найти / заменить текст и сформировать оператор UPDATE ... но я даже не уверен, как именно это сделать.

Я бы хотел, чтобы каждый ряд превращался в этот, уходя с первого ряда:

UPDATE desserts
SET lname = "Pudding", fname = "Chocolate", startdate = "10/01/2018", enddate = "10/30/2018"
WHERE user_id = 001;

У меня было бы несколько тысяч таких, которые я мог бы затем запустить в базе данных.

1 Ответ

0 голосов
/ 31 октября 2018

Открыть поиск> Поиск ...> Заменить в блокноте ++

Тогда используйте это как поиск

\s*(\d+)\s*,\s*([a-zA-Z]+)\s*,\s*([a-zA-Z]+)\s*,\s*(.+),\s*(.+)

и это как заменить

UPDATE desserts SET lname = "$2", fname = "$3", startdate = "$4", enddate = "$5" WHERE user_id = $1;\n

Выберите «Регулярное выражение» и нажмите «Поиск и замена».

Search and Replace in Notepadplusplus

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