Почему SQL запрос возвращает список?
Добрый день. У меня есть MySQL база данных со столбцами id и name спортсменов. Я хочу получить id в переменную , но SELECT возвращает список вместо числа.
У id в базе данных стоит int
show_swimmer = "SELECT main_swimmers.id FROM main_swimmers WHERE main_swimmers.name = 'Колесников Климент'" id_swimmer = execute_read_query(connection, show_swimmer) print(id_swimmer ) |
show_swimmer = "SELECT main_swimmers.id FROM main_swimmers WHERE main_swimmers.name = 'Колесников Климент'" id_swimmer = execute_read_query(connection, show_swimmer) print(id_swimmer )
Возвращает:
[(3163)]
Как быть?
Дополнительно:
print(show_swimmer[0][0]) должно работать
- Спасибо, работает
> Почему SQL запрос возвращает список?
Потому что функция execute_read_query написана так, чтобы возвращать список.
> Как быть?
По уму - написать функцию, которая будет возвращать не список, а скаляр. И вызывать её вместо execute_read_query когда нужно только одно значение из одной строки таблицы.
Ответы:
Это вложенный список из одного числа. То есть надо проверить, было ли что-то в ответе - не пустой ли список, и если не пустой, взять его нулевой элемент его нулевого элемента.
fetchone тоже будет не число возвращать, а список, только не вложенный, а простой.
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
SQL запрос возвращает список данных, потому что SQL (Structured Query Language) является языком программирования для управления реляционными базами данных. Когда вы выполняете SQL запрос, вы запрашиваете определенные данные из таблицы или таблиц базы данных, и SQL возвращает эти данные в виде списка.
Пример SQL запроса, который возвращает список данных из таблицы "users":
SELECT * FROM users;
Этот запрос выбирает все столбцы из таблицы "users" и возвращает список всех записей в этой таблице.
Если вам нужно отфильтровать данные или выполнить другие операции над ними, вы можете использовать различные операторы SQL, такие как WHERE, GROUP BY, ORDER BY и т. д. Например, чтобы выбрать только пользователей с определенным именем, вы можете использовать следующий запрос:
SELECT * FROM users WHERE name = 'John';
Этот запрос вернет только те записи из таблицы "users", где имя пользователя равно "John".
В целом, SQL запросы возвращают список данных, потому что их основная цель - извлечение информации из базы данных и представление ее в удобном для работы формате. Однако, с помощью SQL вы можете выполнять различные операции над данными, чтобы получить нужный результат.