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!

PostgreSQL - Python

Instalasi

Sebelum kita bisa mulai membuat magi, kita perlu mengatur tool kita. PERTimbangkan ini sebagai persiapan dapur Anda sebelum memasak makanan khusus.

  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 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:

  1. Mengimpor modul psycopg2
  2. Menggunakan fungsi connect() untuk membuat koneksi
  3. Menyediakan detail seperti nama database, pengguna, kata sandi, dll.
  4. 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:

  1. Kita membuat objek kursor, seperti asisten database 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 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:

  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, mengirimkan 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("Error 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 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:

  1. Kita membuat query UPDATE dengan placeholder untuk nama pengarang 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 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:

  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 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