9. Database dengan Python

 

✅ 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 Databasesqlite3.connect()
Membuat TabelCREATE 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