SQLite dengan Modul sqlite3 Python
Membuat basis data dan tabel, INSERT/SELECT/UPDATE, kueri berparameter, serta pengelolaan koneksi.
SQLite dengan Modul sqlite3 Python adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.
Mengapa Basis Data untuk Kecerdasan Buatan?
Berkas datar dapat digunakan sampai data Anda bertambah besar atau banyak bagian proyek memerlukan rekaman yang sama. Sebuah basis data menyediakan kueri cepat, skema terstruktur, dan akses serentak yang aman.
SQLite adalah basis data berbasis berkas tanpa penyiapan yang sudah tersedia di Python melalui modul sqlite3—sempurna untuk eksperimen kecerdasan buatan dan proyek kecil.
Menghubungkan dengan sqlite3.connect
sqlite3.connect membuka atau membuat basis data, lalu mengembalikan sebuah koneksi. Gunakan :memory: untuk basis data sementara di dalam RAM.
import sqlite3
conn = sqlite3.connect("ml.db") # creates ml.db if missing
print(conn)Kursor dan cursor.execute
Anda menjalankan SQL melalui sebuah kursor yang diperoleh dari koneksi. cursor.execute(sql) mengirimkan pernyataan ke basis data.
import sqlite3
conn = sqlite3.connect("ml.db")
cur = conn.cursor()
cur.execute("SELECT sqlite_version()")
print(cur.fetchone())CREATE TABLE IF NOT EXISTS
Tentukan tabel dengan sebuah skema. IF NOT EXISTS membuat pernyataan aman dijalankan berulang kali—pernyataan itu tidak akan menghasilkan galat jika tabel sudah ada.
cur.execute("""
CREATE TABLE IF NOT EXISTS experiments (
id INTEGER PRIMARY KEY AUTOINCREMENT,
name TEXT NOT NULL,
accuracy REAL,
created_at TEXT
)
""")INSERT dengan Penanda Tempat
Jangan pernah menyusun SQL dengan pemformatan string—hal itu membuka peluang injeksi SQL dan bermasalah jika ada tanda kutip. Gunakan penanda tempat ? dan teruskan nilai sebagai tupel.
cur.execute(
"INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
("baseline", 0.82, "2026-05-29"),
)Menyisipkan Banyak Baris dengan executemany
executemany menyisipkan daftar tupel dalam satu pemanggilan yang efisien—jauh lebih cepat daripada memanggil execute berulang kali.
rows = [
("rf", 0.88, "2026-05-29"),
("xgb", 0.91, "2026-05-29"),
]
cur.executemany(
"INSERT INTO experiments (name, accuracy, created_at) VALUES (?, ?, ?)",
rows,
)conn.commit() Menyimpan Perubahan
Penulisan berlangsung di dalam transaksi dan belum disimpan secara permanen sampai Anda memanggil conn.commit(). Lupa melakukan ini adalah kesalahan pemula yang paling umum—data Anda hilang diam-diam saat koneksi ditutup.
conn.commit() # persist all pending INSERT/UPDATE/DELETEMengueri dengan fetchall dan fetchone
Setelah SELECT, ambil hasilnya:
fetchone()— satu baris berikutnyafetchall()— semua baris tersisa sebagai daftar tupel- lakukan iterasi langsung pada kursor untuk hasil yang besar
cur.execute("SELECT name, accuracy FROM experiments")
for row in cur.fetchall():
print(row) # ("baseline", 0.82) ...Menyaring dan Mengurutkan
SQL menangani pekerjaan berat: lakukan penyaringan dengan WHERE, pengurutan dengan ORDER BY, dan pembatasan dengan LIMIT. Gunakan penanda tempat untuk nilai kueri juga.
cur.execute(
"SELECT name, accuracy FROM experiments WHERE accuracy > ? ORDER BY accuracy DESC LIMIT 3",
(0.85,),
)
print(cur.fetchall())Pabrik Baris untuk Akses Bernama
Secara bawaan, baris berupa tupel. Atur conn.row_factory = sqlite3.Row agar kolom dapat diakses berdasarkan nama, yang jauh lebih mudah dibaca.
import sqlite3
conn = sqlite3.connect("ml.db")
conn.row_factory = sqlite3.Row
cur = conn.cursor()
cur.execute("SELECT * FROM experiments")
row = cur.fetchone()
print(row["name"], row["accuracy"])Pengelola Konteks untuk Keamanan
Menggunakan with pada koneksi akan otomatis melakukan commit jika berhasil dan membatalkan perubahan jika terjadi galat. Jika digabungkan dengan closing, cara ini menjamin pembersihan.
import sqlite3
from contextlib import closing
with closing(sqlite3.connect("ml.db")) as conn:
with conn: # auto commit/rollback
conn.execute(
"INSERT INTO experiments (name, accuracy) VALUES (?, ?)",
("svm", 0.79),
)Pemeriksaan Singkat: Menyimpan Penulisan
Anda menjalankan beberapa pernyataan INSERT, lalu menutup koneksi—tetapi data tersebut hilang saat berikutnya dibuka.
Ringkasan: SQLite dengan sqlite3
Sekarang Anda dapat menggunakan basis data nyata dari Python:
sqlite3.connectdan sebuahcursorCREATE TABLE IF NOT EXISTSuntuk skema yang amanINSERTdengan penanda tempat?danexecutemanyconn.commit()untuk menyimpan penulisanfetchone/fetchall,WHERE/ORDER BY/LIMITsqlite3.Rowdan pengelola konteks untuk kode yang rapi dan aman
Berikutnya: menghubungkan pandas dan SQL.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “SQLite dengan Modul sqlite3 Python” gratis?
Ya — teks lengkap “SQLite dengan Modul sqlite3 Python” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “SQLite dengan Modul sqlite3 Python”?
Membuat basis data dan tabel, INSERT/SELECT/UPDATE, kueri berparameter, serta pengelolaan koneksi. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Learn AI with Python?
Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “SQLite dengan Modul sqlite3 Python” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?
Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- SQLite dengan Modul sqlite3 Python
- Integrasi Pandas dan SQL
- Menyimpan dan Membuat Kueri Hasil Pembelajaran Mesin
- Pengantar Basis Data Vektor