Memilih data dari Tabel: SQL mentah
Seperti yang Anda lihat pada video, untuk mengakses dan memanipulasi data di database, pertama-tama kita perlu membuat koneksi dengan menggunakan metode .connect() pada engine. Ini karena fungsi create_engine() yang Anda gunakan sebelumnya mengembalikan sebuah instance engine, tetapi sebenarnya tidak membuka koneksi hingga ada aksi yang memerlukannya, seperti kueri.
Dengan menggunakan yang baru saja kita pelajari tentang SQL dan menerapkan metode .execute() pada koneksi, kita dapat memanfaatkan kueri SQL mentah untuk mengambil semua rekaman dalam tabel census. Objek yang dikembalikan oleh metode .execute() adalah ResultProxy. Pada ResultProxy ini, kita kemudian dapat menggunakan metode .fetchall() untuk mendapatkan hasil kita — yaitu ResultSet.
Dalam latihan ini, Anda akan menggunakan kueri SQL tradisional. Perhatikan bahwa saat Anda mengeksekusi kueri menggunakan SQL mentah, Anda akan mengkueri tabel langsung di dalam database. Secara khusus, tidak diperlukan langkah refleksi.
Pada latihan berikutnya, Anda akan beralih ke SQLAlchemy dan mulai memahami keunggulannya. Ayo lanjut!
Latihan ini adalah bagian dari kursus
Pengantar Basis Data di Python
Petunjuk latihan
- Gunakan metode
.connect()dariengineuntuk membuat koneksi. - Buat pernyataan SQL untuk mengambil semua kolom dari
censusdan simpan dalamstmt. Perhatikan bahwa pernyataan SQL Anda harus berupa string. - Gunakan metode
.execute()dan.fetchall()padaconnectiondan simpan hasilnya dalamresults. Ingat bahwa.execute()dijalankan sebelum.fetchall()danstmtperlu diteruskan ke.execute(). - Cetak
results.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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(____)