#python #mysql #mysql-python
#python #mysql #mysql-python
Вопрос:
Я новичок в python и, конечно, MySQL. Недавно я создал функцию Python, которая генерирует список значений, которые я хочу вставить в таблицу (2 столбца) в MySQL на основе их спецификации.
Возможно ли создать процедуру, которая может принимать список значений, которые я отправляю через python, проверьте, есть ли эти значения уже в одном из моих 2 двух столбцов,
- если они уже есть во втором, не возвращайте,
- если они находятся в первом, верните все, что там содержится
- если они не находятся ни в одном из них, верните их с каким-то флагом, чтобы я мог обрабатывать их через python и вставлять их в правильную таблицу
ДОПОЛНИТЕЛЬНОЕ ОБЪЯСНЕНИЕ
Позвольте мне попытаться объяснить, чего я хочу достичь, поэтому, возможно, вы сможете подтолкнуть меня и помочь мне. Итак, сначала я получаю список элементов CPE, подобных этому («cpe: / a: apache: iotdb: 0.9.0») в python, и моя цель — сохранить их в базе данных, где CPE, связанные с IOT, будут отличаться от общих и сохранены в разных таблицах или столбцах. Моя цель состоит в том, чтобы это различие выполнялось с помощью пользовательского ввода для каждого элемента, но только один раз для каждого элемента, поэтому после анализа всех элементов в python я хочу сначала проверить в базе данных, существуют ли они в одной из таблиц или столбцов.
Итак, для каждого элемента списка, который я передаю, я хочу запросить mysql и:
- если он уже существует в столбце, отличном от iot, ничего не возвращает
- если он существует в столбце iot, уже возвращаемый элемент
- если нигде не существует, верните также элемент, чтобы я мог получить пользовательский ввод в python, чтобы проверить, является ли это элементом iot или нет, и после этого вставить его в базу данных
Комментарии:
1. Возможно ли создать процедуру, которая включает процедуру Clear — python или MySQL?
2. Ваше объяснение действительно неясно. Не могли бы вы привести примеры данных и ожидаемые результаты? Ответ на вопрос «возможно ли это» почти наверняка положительный. Выполните запрос, извлеките результаты и используйте
if
инструкции.3. Покажите пример табличных данных (3-4 строки), и 3 варианта «списка значений» соответствуют всем 3 упомянутым вариантам.
4. если они уже есть во втором, не возвращайте их ВСЕ? хотя бы одно? что-то еще? если они находятся в первом, верните все, что там содержится , т.Е. Удалите несуществующие значения из списка? если … если … если … Означает ли это «если … еще, если … еще, если …»?
Ответ №1:
Я думаю, вы могли бы использовать библиотеку под названием pandas. Idk, если это лучшее решение, но оно может сработать. Экспортируйте то, что у вас есть в SQL, в pandas или просто запросите файл SQL с помощью pandas. Ознакомьтесь с этой библиотекой, она действительно полезна для изучения наборов данных.