Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Pemrograman Web Aman: Input, Query, dan Hak Akses

Pelajaran 4 dari 14

Query berparameter

Placeholder bernama, perintah ubah data, dan executemany

Setelah pelajaran ini kamu bisa memakai placeholder :nama dengan kamus, menulis INSERT/UPDATE/DELETE berparameter, dan mengirim banyak baris sekaligus dengan executemany.

±13 menitDiperiksa 7 Okt 2026

Materi

sqlite3 mengenal dua gaya placeholder. Gaya tanda tanya mengikat nilai menurut urutan, dari tuple atau list. Gaya bernama menulis :nama di teks SQL dan mengikat nilai dari kamus dengan kunci yang sama, sehingga urutan tidak lagi penting dan satu nama boleh dipakai dua kali. Gaya bernama memudahkan query dengan banyak kolom, karena kesalahan urutan tidak bisa terjadi. Dua gaya tidak dicampur dalam satu query.

Aturannya sama untuk perintah yang mengubah data. INSERT, UPDATE, dan DELETE ditulis tetap, nilai dikirim lewat parameter, dan perubahan disimpan dengan conn.commit(). Untuk banyak baris sekaligus, executemany(sql, data) menjalankan satu teks SQL untuk setiap tuple atau kamus di data. rowcount dari executemany berisi jumlah seluruh baris yang berubah.

conn.execute(
    "UPDATE anggota SET telepon = :telp WHERE id = :id",
    {"telp": "0812-3456-7890", "id": 17},
)
conn.executemany(
    "INSERT INTO hadir(anggota_id, tanggal) VALUES (?, ?)",
    [(17, "2026-10-01"), (18, "2026-10-01"), (21, "2026-10-01")],
)
conn.commit()

Latihan

0/3 lulus

Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 3 dari 3

Pengembang ingin satu fungsi pencarian dipakai untuk beberapa tabel dan menulis kode di bawah. Apa yang terjadi saat dijalankan?

conn.execute("SELECT * FROM ? WHERE id = ?", ("produk", 3))
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke