ПочатиПочніть безкоштовно

Вибір даних з таблиці: сирий SQL

Як ви бачили у відео, щоб отримувати доступ до даних у базі та працювати з ними, спершу потрібно встановити з'єднання, застосувавши метод .connect() до двигуна (engine). Це тому, що функція create_engine(), яку ви використовували раніше, повертає екземпляр двигуна, але фактичне з'єднання не відкривається, доки не буде виконана дія, що його потребує, наприклад запит.

Використовуючи щойно вивчене про SQL і застосувавши метод .execute() до нашого з'єднання, ми можемо виконати сирий SQL‑запит, щоб отримати всі записи з таблиці census. Об'єкт, який повертає метод .execute(), — це ResultProxy. До цього ResultProxy ми можемо застосувати метод .fetchall(), щоб отримати результати — тобто ResultSet.

У цій вправі ви використаєте традиційний SQL‑запит. Зверніть увагу: коли ви виконуєте запит за допомогою сирого SQL, ви звертаєтеся до таблиці безпосередньо в базі даних. Зокрема, крок рефлексії тут не потрібен.

У наступній вправі ви перейдете до SQLAlchemy і почнете розуміти його переваги. Успіхів!

Ця вправа є частиною курсу

Вступ до баз даних у Python

Переглянути курс

Інструкції до вправи

  • Використайте метод .connect() об'єкта engine, щоб створити з'єднання.
  • Складіть SQL‑інструкцію, що вибирає всі стовпці з census, і збережіть її в stmt. Зверніть увагу: SQL‑інструкція має бути рядком.
  • Застосуйте методи .execute() і .fetchall() до connection та збережіть результат у results. Пам'ятайте: спочатку .execute(), потім .fetchall(), і stmt потрібно передати до .execute().
  • Виведіть results.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

from sqlalchemy import create_engine
engine = create_engine('sqlite:///census.sqlite')

# Create a connection on engine
connection = ___

# Build select statement for census table: stmt
stmt = ____

# Execute the statement and fetch the results: results
results = ____

# Print results
print(____)
Редагувати та запускати код