Я использую Python 2.7 для извлечения информации из веб-страниц (с BeautifulSoup
), сортировки этой информации и вставки ее в таблицу SQL (с MySQLdb
). Это довольно просто, и мне удалось найти отличную ссылку из других мест на SO.Обновление таблицы SQL с помощью Python 2.7?
Моя проблема: мне нужен код для поиска в таблице, и если информация уже существует, обновите ее. Но если информация не существует, создайте новую запись.
Пример:
Table
+-----------+----------+--------+
| Name | Phone | Date |
+-----------+----------+--------+
| John | 344-7989 | 9/1 |
+-----------+----------+--------+
| Alexander | 198-3333 | 8/16 |
+-----------+----------+--------+
Веб-обходчик находит новую информацию в Интернете и сохраняет его в список словарей:
[
{
"Name" : "Samantha",
"Phone" : "788-3443",
"Date" : "9/5"
}, {
"Name" : "John",
"Phone" : "222-9009",
"Date" : "9/5"
}
]
Теперь одна запись (Саманта) является совершенно новым, не существуют в таблице. Но другая запись (Джон) уже существует, но его информация более поздняя. Что такое код для редактирования таблицы с этой информацией и создания:
Final Table
+-----------+----------+--------+
| Name | Phone | Date |
+-----------+----------+--------+
| John | 222-9009 | 9/5 |
+-----------+----------+--------+
| Alexander | 198-3333 | 8/16 |
+-----------+----------+--------+
| Samantha | 788-3443 | 9/5 |
+-----------+----------+--------+
Что вы хотите, код MySQL или код Python? – Miquel
Я верю в код MySQL. Насколько я понимаю, вы просто поместили код MySQL в '(MySQLdb.connect) .cursor()'. Если бы кто-то мог дать мне рабочий пример с кодом SQL и ** Python, это было бы здорово. –
Но можете ли вы дублировать имена в своем списке, например, два Джона? Если да, то как вы определяете регистр для обновления? – Miquel