Фильтрация данных из таблицы — простой пример
Подключение к базе данных установлено — теперь потренируемся фильтровать запросы!
Как было показано в видео, конструкция where() используется для фильтрации данных, которые возвращает запрос. Например, чтобы выбрать все записи из таблицы census, где пол — женский (значение 'F'), нужно написать следующее:
select([census]).where(census.columns.sex == 'F')
Помимо ==, в конструкции where() можно использовать любые операторы сравнения Python, например <=, != и другие.
Это упражнение является частью курса
Введение в базы данных на Python
Инструкции к упражнению
- Выберите все записи из таблицы
census, передавcensusв виде списка вselect(). - Добавьте к
stmtконструкциюwhere, чтобы вернуть только записи, в которыхstateравно'New York'. - Выполните запрос
stmtс помощью.execute()на объектеconnectionи получите результаты с помощью.fetchall(). - Переберите элементы
resultsи выведите столбцыage,sexиpop2000для каждой записи. Например, значениеageдля элементаresultможно вывести с помощьюresult.age.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create a select query: stmt
stmt = ____
# Add a where clause to filter the results to only those for New York : stmt_filtered
stmt = stmt.____
# Execute the query to retrieve all the data returned: results
results = ____
# Loop over the results and print the age, sex, and pop2000
for ___ in ____:
print(result.age, ____, ____)