✅ 9. Database dengan Python
📌 Database digunakan untuk menyimpan, mengelola, dan mengambil data dalam jumlah besar secara efisien.
📌 SQLite adalah database ringan yang sudah terintegrasi dalam Python, sehingga tidak perlu menginstal perangkat lunak tambahan.
1️⃣ Dasar SQL & SQLite
📌 SQL (Structured Query Language) adalah bahasa untuk berinteraksi dengan database.
📌 SQLite adalah database berbasis file yang digunakan untuk aplikasi kecil hingga menengah.
🔹 Instalasi SQLite (Jika Belum Ada)
- Python sudah memiliki sqlite3, jadi tidak perlu instalasi tambahan.
🔹 Membuat Database SQLite di Python
import sqlite3
# Membuat atau menghubungkan ke database
conn = sqlite3.connect("produk.db")
# Membuat objek cursor untuk menjalankan perintah SQL
cursor = conn.cursor()
# Menutup koneksi
conn.close()
📌 Penjelasan:
✅ connect("produk.db") → Jika file database tidak ada, maka akan dibuat secara otomatis.
✅ cursor() → Digunakan untuk menjalankan perintah SQL.
2️⃣ Membuat Tabel dalam SQLite
import sqlite3
# Koneksi ke database
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
# Membuat tabel produk
cursor.execute("""
CREATE TABLE IF NOT EXISTS produk (
id INTEGER PRIMARY KEY AUTOINCREMENT,
nama TEXT NOT NULL,
harga INTEGER NOT NULL,
stok INTEGER NOT NULL
)
""")
# Menyimpan perubahan dan menutup koneksi
conn.commit()
conn.close()
📌 Penjelasan:
✅ CREATE TABLE IF NOT EXISTS → Membuat tabel produk jika belum ada.
✅ id INTEGER PRIMARY KEY AUTOINCREMENT → ID unik yang otomatis bertambah.
✅ nama TEXT NOT NULL → Kolom untuk menyimpan nama produk.
✅ harga INTEGER NOT NULL → Kolom harga dalam format angka.
✅ stok INTEGER NOT NULL → Kolom jumlah stok produk.
3️⃣ Operasi CRUD (Create, Read, Update, Delete)
🔹 CREATE (Menambahkan Data ke Database)
import sqlite3
# Koneksi ke database
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
# Menambahkan data
cursor.execute("INSERT INTO produk (nama, harga, stok) VALUES (?, ?, ?)",
("Laptop", 10000000, 5))
# Menyimpan perubahan dan menutup koneksi
conn.commit()
conn.close()
📌 Penjelasan:
✅ INSERT INTO produk → Menambahkan data ke tabel produk.
✅ VALUES (?, ?, ?) → Placeholder untuk data agar lebih aman dari SQL Injection.
🔹 READ (Menampilkan Data dari Database)
import sqlite3
# Koneksi ke database
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
# Mengambil semua data
cursor.execute("SELECT * FROM produk")
produk_list = cursor.fetchall() # Mengambil semua hasil query
# Menampilkan data
for produk in produk_list:
print(produk)
# Menutup koneksi
conn.close()
📌 Penjelasan:
✅ SELECT * FROM produk → Mengambil semua data dari tabel produk.
✅ fetchall() → Mengambil semua hasil dalam bentuk list tuple.
🔹 UPDATE (Memperbarui Data di Database)
import sqlite3
# Koneksi ke database
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
# Update harga produk dengan nama "Laptop"
cursor.execute("UPDATE produk SET harga = ? WHERE nama = ?", (12000000, "Laptop"))
# Menyimpan perubahan dan menutup koneksi
conn.commit()
conn.close()
📌 Penjelasan:
✅ UPDATE produk SET harga = ? WHERE nama = ? → Mengubah harga berdasarkan nama produk.
🔹 DELETE (Menghapus Data dari Database)
import sqlite3
# Koneksi ke database
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
# Menghapus produk dengan nama "Laptop"
cursor.execute("DELETE FROM produk WHERE nama = ?", ("Laptop",))
# Menyimpan perubahan dan menutup koneksi
conn.commit()
conn.close()
📌 Penjelasan:
✅ DELETE FROM produk WHERE nama = ? → Menghapus data dengan nama tertentu.
4️⃣ Menghubungkan Python ke Database dengan sqlite3
Kita bisa mengintegrasikan SQLite dengan aplikasi Python untuk menyimpan dan mengambil data secara otomatis.
🔹 Contoh Aplikasi Sederhana dengan SQLite
import sqlite3
def tambah_produk(nama, harga, stok):
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
cursor.execute("INSERT INTO produk (nama, harga, stok) VALUES (?, ?, ?)", (nama, harga, stok))
conn.commit()
conn.close()
print("Produk berhasil ditambahkan!")
def lihat_produk():
conn = sqlite3.connect("produk.db")
cursor = conn.cursor()
cursor.execute("SELECT * FROM produk")
produk_list = cursor.fetchall()
conn.close()
return produk_list
# Menambahkan produk baru
tambah_produk("Smartphone", 5000000, 10)
# Menampilkan daftar produk
for produk in lihat_produk():
print(produk)
📌 Penjelasan:
✅ Fungsi tambah_produk(nama, harga, stok) → Menambahkan produk ke database.
✅ Fungsi lihat_produk() → Mengambil daftar produk dan menampilkannya.
📌 Kesimpulan
✅ Membuat Database → sqlite3.connect()
✅ Membuat Tabel → CREATE TABLE
✅ Menambahkan Data (Create) → INSERT INTO
✅ Membaca Data (Read) → SELECT * FROM
✅ Memperbarui Data (Update) → UPDATE SET
✅ Menghapus Data (Delete) → DELETE FROM
🔥 Selanjutnya, kita akan belajar tentang Manipulasi Data dengan Pandas! Mau aku buatkan? 🚀
Tidak ada komentar:
Posting Komentar