SQLite - Python: Panduan Pemula
Hai sana, para ahli pangkalan data masa depan! Saya begitu senang untuk menjadi panduanmu dalam perjalanan menarik ini ke dunia SQLite dan Python. Sebagai seseorang yang telah mengajar sains komputer selama bertahun-tahun, saya dapat menjamin bahwa pada akhir tutorial ini, kamu akan mengoperasikan pangkalan data seperti seorang pro. Jadi, mari kita masuk ke dalam!
Instalasi
Sebelum kita memulai petualangan ini, kita perlu memastikan bahwa kita memiliki tools yang benar. Berita baiknya adalah, jika kamu memiliki Python terinstal (yang saya asumsikan kamu punya), kamu sudah memiliki SQLite! Itu disertakan dengan Python, jadi tidak perlu instalasi tambahan. Apakah itu tidak praktis?
Modul sqlite3 Python APIs
Sekarang, mari bicarakan bintang pertunjukan kami: modul sqlite3. Modul ini adalah tiketmu untuk bekerja dengan pangkalan data SQLite di Python. Itu menyediakan sebuah set fungsi dan metode yang kita akan gunakan sepanjang tutorial ini.
Berikut adalah tabel metode utama yang kita akan gunakan:
Metode | Deskripsi |
---|---|
connect() | Membuat koneksi ke pangkalan data |
cursor() | Membuat objek kursor untuk menjalankan perintah SQL |
execute() | Menjalankan perintah SQL tunggal |
executemany() | Menjalankan perintah SQL melawan semua urutan parameter |
commit() | Melakukan komit transaksi saat ini |
rollback() | Membatalkan semua perubahan pada pangkalan data sejak panggilan terakhir ke commit() |
close() | Menutup koneksi pangkalan data |
Jangan khawatir jika ini tampak sedikit mistis saat ini. Kita akan menjelajahi masing-masing dari ini secara detil saat kita terus maju.
Menyambung ke Pangkalan Data
Ayo mulai dengan menyambung ke pangkalan data. Itu seperti mengetuk pintu rumah datamu!
import sqlite3
# Menyambung ke pangkalan data (atau buatnya jika belum ada)
conn = sqlite3.connect('my_first_db.db')
print("Koneksi pangkalan data berhasil!")
# Jangan lupa tutup koneksi saat kamu selesai
conn.close()
Dalam contoh ini, kita mengimpor modul sqlite3 dan menggunakan fungsi connect()
nya untuk membuat koneksi ke pangkalan data yang dinamai 'my_first_db.db'. Jika pangkalan data ini belum ada, SQLite akan membuatnya untuk kita. Bagaimana itu bukanlah berhati-hati!
Membuat Tabel
Sekarang kita sudah tersambung, mari buat sebuah tabel. Picturkan tabel itu seperti spreadsheet dalam pangkalan datamu.
import sqlite3
conn = sqlite3.connect('my_first_db.db')
cursor = conn.cursor()
# Membuat tabel
cursor.execute('''CREATE TABLE IF NOT EXISTS students
(id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
age INTEGER)''')
print("Tabel berhasil dibuat!")
conn.commit()
conn.close()
Di sini, kita membuat tabel yang dinamai 'students' dengan tiga kolom: id, name, dan age. Klausul IF NOT EXISTS
adalah jaring keselamatan kita - itu mencegah kesalahan jika kita secara tidak sengaja mencoba membuat tabel yang sama dua kali.
Operasi INSERT
Waktunya menambahkan beberapa data ke tabel kita. Itu seperti mengisi spreadsheet kita!
import sqlite3
conn = sqlite3.connect('my_first_db.db')
cursor = conn.cursor()
# Menyisipkan baris tunggal data
cursor.execute("INSERT INTO students (name, age) VALUES (?, ?)", ("Alice", 22))
# Menyisipkan banyak baris data
students_data = [("Bob", 19), ("Charlie", 21), ("David", 20)]
cursor.executemany("INSERT INTO students (name, age) VALUES (?, ?)", students_data)
print("Data berhasil disisipkan!")
conn.commit()
conn.close()
Dalam contoh ini, kita menyisipkan data ke tabel 'students'. Kita gunakan execute()
untuk penyisipan tunggal dan executemany()
untuk banyak penyisipan. Tanda ?
adalah placeholder untuk data kita, yang membantu mencegah serangan SQL injection. Keselamatan pertama!
Operasi SELECT
Sekarang, mariambil data kita. Itu seperti meminta pangkalan datamu untuk menunjukkan apa yang dia ingat!
import sqlite3
conn = sqlite3.connect('my_first_db.db')
cursor = conn.cursor()
# Memilih semua baris dari tabel students
cursor.execute("SELECT * FROM students")
# Mengambil semua baris
rows = cursor.fetchall()
for row in rows:
print(f"ID: {row[0]}, Name: {row[1]}, Age: {row[2]}")
conn.close()
Di sini, kita memilih semua baris dari tabel 'students' dan mencetaknya. Tanda *
dalam queri SQL kita berarti "berikan saya semuanya". Itu seperti mengatakan "Buka kunci!" ke pangkalan datamu.
Operasi UPDATE
kadang-kadang, kita perlu mengubah data kita. Mari kita perbarui umur seorang murid:
import sqlite3
conn = sqlite3.connect('my_first_db.db')
cursor = conn.cursor()
# Memperbarui umur murid
cursor.execute("UPDATE students SET age = ? WHERE name = ?", (23, "Alice"))
print("Data berhasil diperbarui!")
conn.commit()
conn.close()
Dalam contoh ini, kita memperbarui umur murid di tabel 'students'.
Credits: Image by storyset