Začněte nyníZačněte zdarma

Výběr dat z tabulky: čisté SQL

Jak jsi viděl/a ve videu, pro přístup k datům v databázi a jejich zpracování je nejprve potřeba navázat připojení pomocí metody .connect() zavolané na enginu. Funkce create_engine(), kterou jsi používal/a dříve, totiž vrací instanci enginu, ale samotné připojení neotevře, dokud není zavolána akce, která ho vyžaduje – například dotaz.

S využitím toho, co jsme se právě naučili o SQL, a metodou .execute() zavolané na našem připojení můžeme sestavit čistý SQL dotaz, který vrátí všechny záznamy z tabulky census. Objekt vrácený metodou .execute() je ResultProxy. Na něm pak zavoláme metodu .fetchall(), která nám vrátí výsledky – tedy ResultSet.

V tomto cvičení použiješ tradiční SQL dotaz. Všimni si, že při spuštění dotazu v čistém SQL se tabulka dotazuje přímo v databázi – reflection krok není potřeba.

V dalším cvičení přejdeme na SQLAlchemy a začneme objevovat jeho výhody. Jdeme na to!

Toto cvičení je součástí kurzu

Introduction to Databases in Python

Zobrazit kurz

Pokyny k cvičení

  • Pomocí metody .connect() objektu engine vytvoř připojení.
  • Sestav SQL příkaz, který vybere všechny sloupce z tabulky census, a ulož ho do proměnné stmt. Nezapomeň, že SQL příkaz musí být řetězec.
  • Zavolej metody .execute() a .fetchall() na objektu connection a výsledek ulož do proměnné results. Pamatuj, že .execute() se volá před .fetchall() a že stmt je potřeba předat do .execute().
  • Vypiš results.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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(____)
Upravit a spustit kód