Panduan Pemula: Antarmuka PostgreSQL - Python

Hai sana, para ahli basis data masa depan! Saya sangat senang menjadi panduan Anda dalam perjalanan menarik ini ke dunia PostgreSQL dan Python. Sebagai seseorang yang telah mengajar ilmu komputer selama tahun, saya bisa katakan bahwa kombinasi ini seperti mentega dan selai – sangat lezat! Jadi, mari kita geser lengan dan masuk ke dalam!

PostgreSQL - Python

Instalasi

Sebelum kita bisa mulai menciptakan keajaiban, kita perlu mengatur tools kita. Picturing ini seperti menyiapkan dapur Anda sebelum memasak makanan kualitas tinggi.

  1. Pertama, pastikan Anda telah menginstal PostgreSQL di komputer Anda. Anda dapat mendownloadnya dari situs web resmi PostgreSQL.

  2. 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 tool baru ke dalam kotak alatnya. Setelah itu selesai, Anda siap untuk melanjutkan!

API Modul Python psycopg2

Sekarang kita memiliki tools kita, mari kita lihat secara 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 basis data
cursor() Membuat objek kursor untuk menjalankan perintah SQL
execute() Menjalankan operasi basis data (query atau perintah)
fetchone() Mengambil baris berikutnya dari hasil query
fetchall() Mengambil semua (tinggal) baris dari hasil query
commit() Melakukan komit transaksi saat ini
rollback() Mengembalikan ke awal transaksi yang belum selesai
close() Menutup koneksi basis data

Jangan khawatir jika ini terlihat seperti bahasa asing untuk Anda saat ini. Kita akan menjelajahi masing-masing dari ini secara detil nanti!

Menghubungkan ke Basis Data

Mari kita mulai dengan membuat koneksi ke basis data kita. Ini 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("Kesalahan saat menghubungkan ke PostgreSQL", error)

Dalam kode ini, kita:

  1. Mengimpor modul psycopg2
  2. Menggunakan fungsi connect() untuk membuat koneksi
  3. Menyediakan detail seperti nama basis data, pengguna, kata sandi, dll.
  4. Menggunakan blok try-except untuk menangani kemungkinan kesalahan

Jika semuanya berjalan lancar, Anda harus melihat "Koneksi sukses!" dicetak. Selamat, Anda baru saja membuka pintu ke basis data 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 berhasil dibuat!")
except (Exception, psycopg2.Error) as error:
print("Kesalahan saat membuat tabel", error)
finally:
if connection:
cursor.close()
connection.close()
print("Koneksi PostgreSQL ditutup")

Berikut apa yang terjadi:

  1. Kita membuat objek kursor, yang seperti asisten basis data kita
  2. Kita tentukan query SQL kita untuk membuat tabel 'books'
  3. Kita menjalankan query menggunakan execute()
  4. Kita commit() perubahan untuk membuatnya permanen
  5. Akhirnya, kita tutup kursor dan koneksi kita untuk menjadi warga basis data yang baik

Operasi INSERT

Saatnya menambahkan beberapa buku ke rak! 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 berhasil dimasukkan")
except (Exception, psycopg2.Error) as error:
print("Kesalahan saat memasukkan data", error)

Dalam kode ini:

  1. Kita membuat query INSERT dengan placeholder (%s) untuk nilai kita
  2. Kita tentukan tuple dengan nilai yang kita ingin masukkan
  3. Kita menjalankan query, passing tuple nilai kita
  4. 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("Kesalahan saat mengambil data", error)

Berikut apa yang terjadi:

  1. Kita membuat query SELECT untuk mengambil semua rekord dari tabel 'books'
  2. Kita menjalankan query
  3. Kita menggunakan fetchall() untuk mendapatkan semua hasil
  4. Kita loop melalui hasil dan mencetak detail buku masing-masing

Operasi UPDATE

Ups! Kita membuat kesalahan. Mari kita perbarui 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 sukses diperbarui")
except (Exception, psycopg2.Error) as error:
print("Kesalahan saat memperbarui data", error)

Dalam kode ini:

  1. Kita membuat query UPDATE dengan placeholder untuk nama penulis baru dan ID
  2. Kita menjalankan query dengan nilai baru
  3. 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 sukses dihapus")
except (Exception, psycopg2.Error) as error:
print("Kesalahan saat menghapus data", error)
finally:
if connection:
cursor.close()
connection.close()
print("Koneksi PostgreSQL ditutup")

Berikut apa yang terjadi:

  1. Kita membuat query DELETE dengan placeholder untuk ID
  2. Kita menjalankan query dengan ID rekord yang kita ingin hapus
  3. Kita commit() perubahan
  4. Akhirnya, kita tutup kursor dan koneksi kita

Dan itu saja! Anda baru saja belajar dasar-dasar kerja dengan PostgreSQL menggunakan Python. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba dan mencoba hal lain. Semoga Anda sukses, dan may your databases always be in perfect order!

Credits: Image by storyset