Hari 6: Mengakses Database dengan Python
Pada hari keenam ini, kita akan belajar cara mengakses dan mengelola database menggunakan Python. Kita akan fokus pada SQLite, yang merupakan database ringan dan mudah digunakan.
Mengapa SQLite?
SQLite adalah pilihan yang baik untuk belajar karena:
- Tidak memerlukan server database terpisah.
- File database SQLite adalah file tunggal yang mudah dibawa-bawa.
- Didukung oleh pustaka standar Python (
sqlite3
).
Menggunakan SQLite dengan Python
Menghubungkan ke Database:
import sqlite3# Membuat koneksi ke database (akan membuat file database jika belum ada) conn = sqlite3.connect('example.db') # Membuat cursor untuk mengeksekusi perintah SQL cursor = conn.cursor()
Membuat Tabel:
cursor.execute('''CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT, age INTEGER)''')
Menambahkan Data:
cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Alice', 30))cursor.execute("INSERT INTO users (name, age) VALUES (?, ?)", ('Bob', 25)) # Menyimpan perubahan conn.commit()
Membaca Data:
cursor.execute("SELECT * FROM users")rows = cursor.fetchall() for row in rows: print(row)
Mengupdate Data:
cursor.execute("UPDATE users SET age = ? WHERE name = ?", (31, 'Alice'))conn.commit()
Menghapus Data:
cursor.execute("DELETE FROM users WHERE name = ?", ('Bob',))conn.commit()
Menutup Koneksi:
conn.close()
Latihan
Latihan Membuat dan Mengelola Database:
- Buat database
library.db
dan tabelbooks
dengan kolomid
,title
, danauthor
.import sqlite3conn = sqlite3.connect('library.db') cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS books (id INTEGER PRIMARY KEY, title TEXT, author TEXT)''') conn.commit() conn.close()
- Buat database
Latihan Menambahkan dan Membaca Data:
- Tambahkan beberapa buku ke tabel
books
dan baca kembali semua data.import sqlite3 conn = sqlite3.connect('library.db') cursor = conn.cursor() cursor.execute("INSERT INTO books (title, author) VALUES (?, ?)", ('1984', 'George Orwell')) cursor.execute("INSERT INTO books (title, author) VALUES (?, ?)", ('To Kill a Mockingbird', 'Harper Lee')) conn.commit() cursor.execute("SELECT * FROM books") rows = cursor.fetchall() for row in rows: print(row) conn.close()
- Tambahkan beberapa buku ke tabel
Latihan Mengupdate dan Menghapus Data:
- Update judul buku dan hapus buku berdasarkan judulnya.import sqlite3
conn = sqlite3.connect('library.db') cursor = conn.cursor() cursor.execute("UPDATE books SET title = ? WHERE title = ?", ('Animal Farm', '1984')) cursor.execute("DELETE FROM books WHERE title = ?", ('To Kill a Mockingbird',)) conn.commit() cursor.execute("SELECT * FROM books") rows = cursor.fetchall() for row in rows: print(row) conn.close()
- Update judul buku dan hapus buku berdasarkan judulnya.
Hari 7: Membuat Proyek Sederhana
Pada hari ketujuh ini, kita akan menggabungkan semua yang telah dipelajari untuk membuat proyek sederhana: sistem manajemen perpustakaan.
Deskripsi Proyek
- Sistem ini akan memungkinkan pengguna untuk menambah, membaca, memperbarui, dan menghapus buku dari database.
- Menggunakan SQLite sebagai database backend.
- Menyediakan antarmuka pengguna yang sederhana menggunakan terminal.
Langkah-langkah Proyek
Menyiapkan Database:
import sqlite3def create_connection(): return sqlite3.connect('library.db') def create_table(conn): cursor = conn.cursor() cursor.execute('''CREATE TABLE IF NOT EXISTS books (id INTEGER PRIMARY KEY, title TEXT, author TEXT)''') conn.commit() conn = create_connection() create_table(conn) conn.close()
Fungsi CRUD:
def add_book(conn, title, author):cursor = conn.cursor() cursor.execute("INSERT INTO books (title, author) VALUES (?, ?)", (title, author)) conn.commit() def view_books(conn): cursor = conn.cursor() cursor.execute("SELECT * FROM books") rows = cursor.fetchall() return rows def update_book(conn, book_id, new_title, new_author): cursor = conn.cursor() cursor.execute("UPDATE books SET title = ?, author = ? WHERE id = ?", (new_title, new_author, book_id)) conn.commit() def delete_book(conn, book_id): cursor = conn.cursor() cursor.execute("DELETE FROM books WHERE id = ?", (book_id,)) conn.commit()
Antarmuka Pengguna:
def menu(): print("1. Tambah Buku") print("2. Lihat Buku") print("3. Update Buku") print("4. Hapus Buku") print("5. Keluar") def main(): conn = create_connection() create_table(conn) while True: menu() choice = input("Pilih opsi: ") if choice == '1': title = input("Masukkan judul buku: ") author = input("Masukkan penulis buku: ") add_book(conn, title, author) elif choice == '2': books = view_books(conn) for book in books: print(book) elif choice == '3': book_id = int(input("Masukkan ID buku yang ingin diupdate: ")) new_title = input("Masukkan judul baru: ") new_author = input("Masukkan penulis baru: ") update_book(conn, book_id, new_title, new_author) elif choice == '4': book_id = int(input("Masukkan ID buku yang ingin dihapus: ")) delete_book(conn, book_id) elif choice == '5': break else: print("Pilihan tidak valid. Silakan coba lagi.") conn.close() if __name__ == "__main__": main()
Menguji Proyek
- Jalankan skrip dan pilih opsi dari menu untuk menambahkan, melihat, memperbarui, atau menghapus buku.
- Pastikan setiap operasi berfungsi dengan benar.
Dengan mengikuti langkah-langkah ini, Anda akan memiliki pemahaman yang lebih baik tentang cara menggabungkan berbagai konsep Python untuk membangun aplikasi yang lebih kompleks.
Itulah rencana belajar 7 hari untuk menguasai dasar-dasar Python dan mengakses database. Semoga sukses dalam perjalanan belajar Python
Posting Komentar
Posting Komentar