Panduan Pemula: Antarmuka PostgreSQL - Python
Hai teman-teman, para ahli basis data masa depan! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ke dunia PostgreSQL dan Python. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa katakan bahwa kombinasi ini seperti mentega dan jagung manis – benar-benar lezat! mari kita lipatkan lengan dan masuk ke dalam!
Instalasi
Sebelum kita bisa mulai membuat magi, kita perlu mengatur tool kita. PERTimbangkan ini sebagai persiapan dapur Anda sebelum memasak makanan khusus.
-
Pertama, pastikan Anda telah menginstal PostgreSQL di komputer Anda. Anda dapat mendownloadnya dari situs web resmi PostgreSQL.
-
Selanjutnya, kita perlu menginstal modul Python yang akan memungkinkan kita untuk berkomunikasi dengan PostgreSQL. Buka terminal atau command prompt Anda dan ketik:
pip install psycopg2
Perintah ini seperti meminta komputer Anda untuk menambahkan alat baru ke kotak alatnya. Setelah selesai, Anda siap untuk maju!
API Modul Python psycopg2
Sekarang kita memiliki tool kita, mari kita lihat cepat apa yang mereka bisa lakukan. Modul psycopg2 menyediakan kita dengan set fungsi untuk berinteraksi dengan PostgreSQL. Berikut adalah tabel dari yang paling umum:
Fungsi | Deskripsi |
---|---|
connect() | Membuat koneksi ke database |
cursor() | Membuat objek kursor untuk menjalankan perintah SQL |
execute() | Menjalankan operasi database (query atau perintah) |
fetchone() | Mengambil baris berikutnya dari set hasil query |
fetchall() | Mengambil semua (yang tersisa) baris dari set hasil query |
commit() | Melakukan komit transaksi saat ini |
rollback() | Mengembalikan ke awal transaksi yang tertunda |
close() | Menutup koneksi database |
Jangan khawatir jika ini terlihat seperti bahasa asing saat ini. Kita akan menjelajahi setiap satu ini secara detil saat kita maju!
Membuat Koneksi ke Database
Mari kita mulai dengan membuat koneksi ke database kita. Itu seperti mengetuk pintu dan meminta izin masuk.
import psycopg2
try:
connection = psycopg2.connect(
database="mydb",
user="myuser",
password="mypassword",
host="localhost",
port="5432"
)
print("Koneksi sukses!")
except (Exception, psycopg2.Error) as error:
print("Error saat menghubungi PostgreSQL", error)
Dalam kode ini, kita:
- Mengimpor modul psycopg2
- Menggunakan fungsi
connect()
untuk membuat koneksi - Menyediakan detail seperti nama database, pengguna, kata sandi, dll.
- Menggunakan blok try-except untuk menangani kesalahan potensial
Jika semua berjalan lancar, Anda seharusnya melihat "Koneksi sukses!" dicetak. Selamat, Anda baru saja membuka pintu ke database Anda!
Membuat Tabel
Sekarang kita dalam, mari kita buat tabel untuk menyimpan beberapa data. Bayangkan Anda menyiapkan rak buku untuk mengatur bukunya.
try:
cursor = connection.cursor()
create_table_query = '''CREATE TABLE books
(ID INT PRIMARY KEY NOT NULL,
TITLE TEXT NOT NULL,
AUTHOR TEXT NOT NULL,
PUBLISHED_DATE DATE);'''
cursor.execute(create_table_query)
connection.commit()
print("Tabel dibuat sukses!")
except (Exception, psycopg2.Error) as error:
print("Error saat membuat tabel", error)
finally:
if connection:
cursor.close()
connection.close()
print("Koneksi PostgreSQL ditutup")
Berikut apa yang terjadi:
- Kita membuat objek kursor, seperti asisten database kita
- Kita tentukan query SQL kita untuk membuat tabel 'books'
- Kita menjalankan query menggunakan
execute()
- Kita
commit()
perubahan untuk membuatnya permanen - Akhirnya, kita tutup kursor dan koneksi kita untuk menjadi warga database yang baik
Operasi INSERT
Saatnya menambahkan beberapa buku ke rak kita! Mari kita masukkan rekord ke tabel kita.
try:
cursor = connection.cursor()
insert_query = """ INSERT INTO books (ID, TITLE, AUTHOR, PUBLISHED_DATE)
VALUES (%s, %s, %s, %s)"""
record_to_insert = (1, "To Kill a Mockingbird", "Harper Lee", "1960-07-11")
cursor.execute(insert_query, record_to_insert)
connection.commit()
print("Rekord dimasukkan sukses")
except (Exception, psycopg2.Error) as error:
print("Error saat memasukkan data", error)
Dalam kode ini:
- Kita membuat query INSERT dengan placeholder (%s) untuk nilai kita
- Kita tentukan tuple dengan nilai yang kita ingin masukkan
- Kita menjalankan query, mengirimkan tuple nilai kita
- Kita
commit()
perubahan
Operasi SELECT
Sekarang, mari kita periksa rak bukunya dan lihat apa yang kita punya!
try:
cursor = connection.cursor()
select_query = "SELECT * from books"
cursor.execute(select_query)
records = cursor.fetchall()
for row in records:
print("ID:", row[0])
print("TITLE:", row[1])
print("AUTHOR:", row[2])
print("PUBLISHED DATE:", row[3], "\n")
except (Exception, psycopg2.Error) as error:
print("Error saat mengambil data", error)
Berikut apa yang terjadi:
- Kita membuat query SELECT untuk mengambil semua rekord dari tabel 'books'
- Kita menjalankan query
- Kita menggunakan
fetchall()
untuk mendapatkan semua hasil - Kita loop melalui hasil dan mencetak detail setiap buku
Operasi UPDATE
Ups! Kita membuat kesalahan. Mari kita update rekord untuk memperbaikinya.
try:
cursor = connection.cursor()
update_query = """Update books set AUTHOR = %s where ID = %s"""
cursor.execute(update_query, ("Nelle Harper Lee", 1))
connection.commit()
print("Rekord Diperbarui sukses")
except (Exception, psycopg2.Error) as error:
print("Error saat memperbarui data", error)
Dalam kode ini:
- Kita membuat query UPDATE dengan placeholder untuk nama pengarang baru dan ID
- Kita menjalankan query dengan nilai baru
- Kita
commit()
perubahan
Operasi DELETE
Akhirnya, mari kita belajar bagaimana menghapus buku dari rak kita.
try:
cursor = connection.cursor()
delete_query = """Delete from books where ID = %s"""
cursor.execute(delete_query, (1,))
connection.commit()
print("Rekord Dihapus sukses")
except (Exception, psycopg2.Error) as error:
print("Error saat menghapus data", error)
finally:
if connection:
cursor.close()
connection.close()
print("Koneksi PostgreSQL ditutup")
Berikut apa yang terjadi:
- Kita membuat query DELETE dengan placeholder untuk ID
- Kita menjalankan query dengan ID rekord yang kita ingin hapus
- Kita
commit()
perubahan - Akhirnya, kita tutup kursor dan koneksi kita
Dan itu adalah! Anda baru saja belajar dasar-dasar kerja dengan PostgreSQL menggunakan Python. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba hal lain dan mencoba hal berbeda. Semoga coding Anda selalu baik dan may your databases always be in perfect order!
Credits: Image by storyset