F2 · Modul 14
SQL dari Python
49 langkah singkat, dari mudah sampai tantangan.
Level 1
Kenal
Level 2
Paham
Level 3
Terapkan
Level 4
Tantangan
Level 5
Pendalaman
Intinya
sqlite3.connectmembuka koneksi,executemenjalankan SQL,fetchone/fetchallmengambil hasil; selaluclose().- Nilai dari luar program selalu lewat parameter
?, tidak pernah f-string,+, atau%: itulah satu-satunya obat SQL injection. - Perubahan baru tersimpan setelah
commit();with connme-commitatau me-rollback, tetapi tidak menutup koneksi. - Perubahan yang harus terjadi bersama dijalankan di satu transaksi; uji hasilnya dengan koneksi kedua.
- Hasil kueri bisa ditulis ke CSV dan Markdown untuk laporan otomatis.
Sebelum mulai
±3–4 jam.
Modul ini memakai materi di bawah. Belum yakin? Ulas dulu bagian yang disebut.
Hasil belajar: setelah modul ini kamu bisa membuka basis data SQLite dari Python dengan modul sqlite3; menjalankan kueri dengan parameter ? dan mengambil hasilnya (fetchone, fetchall, sqlite3.Row); menambah banyak baris dengan executemany; mengatur transaksi basis data dengan commit, rollback, dan with conn; menunjukkan dan mencegah SQL injection; menulis hasil kueri ke CSV dan Markdown.
Proyek: laporan.py, skrip yang menulis laporan bulanan Warung Makmur ke laporan-YYYY-MM.md.
Semua contoh Python dijalankan di folder berisi warung.db yang selalu segar, jadi perubahan data tidak terbawa ke contoh berikutnya.
Istilah di modul ini (31)
Ketuk istilah untuk melihat penjelasannya. Di materi, istilah bergaris titik membuka kartu yang sama. Semua istilah course
Bahan modul
Semua kode, latihan, dan data modul ini dalam satu zip, untuk dijalankan di laptop atau Google Colab.
- 32 contoh kode
- 8 berkas latihan + tes
- 2 berkas data
Lihat isi zip
- BACA-DULU.txt
- contoh_f2_14_28.py
- contoh_f2_14_55.py
- contoh_f2_14_78.py
- contoh_f2_14_108.py
- contoh_f2_14_130.py
- contoh_f2_14_156.py
- contoh_f2_14_253.py
- contoh_f2_14_282.py
- contoh_f2_14_339.py
- contoh_f2_14_366.py
- contoh_f2_14_465.py
- contoh_f2_14_486.py
- contoh_f2_14_587.py
- contoh_f2_14_621.py
- contoh_f2_14_636.py
- contoh_f2_14_663.py
- contoh_f2_14_693.py
- contoh_f2_14_801.py
- contoh_f2_14_827.py
- contoh_f2_14_858.py
- contoh_f2_14_902.py
- contoh_f2_14_930.py
- contoh_f2_14_995.py
- contoh_f2_14_1036.py
- contoh_f2_14_1447.py
- contoh_f2_14_1499.py
- contoh_f2_14_1974.py
- contoh_f2_14_2017.py
- contoh_f2_14_2053.py
- contoh_f2_14_2068.py
- contoh_f2_14_2098.py
- contoh_f2_14_2126.py
- test_f2_14_1.py
- test_f2_14_2.py
- test_f2_14_4.py
- test_f2_14_3.py
- test_f2_14_5.py
- test_f2_14_8.py
- test_f2_14_6.py
- test_f2_14_7.py
- kasbon.sql
- warung.sql