Как выгрузить данные из БД?

Добавляю данные в БД:

 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])
→ Ссылка