Lewati ke konten utama

F2 · Modul 14

SQL dari Python

49 langkah singkat, dari mudah sampai tantangan.

  1. Level 1

    Kenal

  2. Level 2

    Paham

  3. Level 3

    Terapkan

  4. Level 4

    Tantangan

  5. Level 5

    Pendalaman

Intinya

  • sqlite3.connect membuka koneksi, execute menjalankan SQL, fetchone/fetchall mengambil hasil; selalu close().
  • Nilai dari luar program selalu lewat parameter ?, tidak pernah f-string, +, atau %: itulah satu-satunya obat SQL injection.
  • Perubahan baru tersimpan setelah commit(); with conn me-commit atau 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