Как выгрузить данные из БД?
Добавляю данные в БД:
try:
connection = MySQLConnection.connection()
cursor = connection.cursor()
cursor.execute("INSERT INTO mydb.categories (CatName) VALUES ('{CatName}')".format(CatName=CatName))
connection.commit()
connection.close()
except Error as e:
print(e)
Читаю данные из БД:
try:
connection = MySQLConnection.connection()
if connection.is_connected():
cursor = connection.cursor()
cursor.execute("SELECT CatName FROM mydb.categories")
List = cursor.fetchall()
row = cursor.rowcount
connection.close()
print(List)
except Error as e:
print(e)
Это все отдельные функции.
Когда вызываю функцию вывода Select, то получаю вывод такого вида:
Доступные категории товаров:
[('Food',), ('Cars',), ('Animals',)]
Подскажите, где тут ошибка, как вывести категории без лишних символов?
Дальше с этим списком хочу делать сравнение с вводом пользователя.
Ответы (1 шт):
Автор решения: MaxU
→ Ссылка
Метод cursor.fetchall() всегда возвращает список кортежей. Даже если в SELECT выбирается всего один столбец cursor.fetchall() вернет список кортежей, состоящих из единственного элемента - как в примере из вашего вопроса.
Попробуйте так:
categories = []
for row in cursor.fetchall():
categories.append(row[0])