Panduan Awal PostgreSQL - Antarmuka Perl

Hai sana, para ahli basis data masa depan! Saya sangat gembira menjadi panduanmu dalam perjalanan menarik ke dunia PostgreSQL dan Perl. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa menjamin bahwa kombinasi ini seperti mentega dan jagung - mereka hanya bekerja sangat baik bersama! Jadi, mari kita lipat lengan dan masuk ke dalam!

PostgreSQL - Perl

Instalasi

Sebelum kita mulai membuat some ilusi basis data, kita perlu mempersiapkan dapur (err... lingkungan pengembangan) kita. Jangan khawatir, ini lebih mudah daripada mengassembly furniture IKEA!

  1. Pertama, pastikan Anda telah menginstal PostgreSQL di sistem Anda. Jika belum, kunjungi situs web resmi PostgreSQL dan ikuti panduan instalasinya.

  2. Selanjutnya, kita perlu menginstal modul Perl DBI dan penggerak DBD::Pg. Buka terminal Anda dan ketik:

cpan install DBI DBD::Pg

Jika Anda di Windows, Anda mungkin perlu menggunakan ppm instead of cpan. Jangan panik jika Anda melihat banyak teks bergulir - itu hanya komputer Anda melakukan halnya saja!

Antarmuka API DBI

Sekarang kita sudah mempersiapkan alat-alat kita, mari bicarakan tentang API DBI (Database Interface). Pahami ini sebagai shake tangan rahasia yang Anda butuhkan untuk berkomunikasi dengan basis data.

Berikut adalah tabel metode DBI yang paling umum yang kita akan gunakan:

Metode Deskripsi
connect() Menyambungkan ke basis data
prepare() Menyiapkan pernyataan SQL
execute() Menjalankan pernyataan yang disiapkan
fetch() Mengambil baris data
finish() Menyelesaikan penggunaan handle pernyataan
disconnect() Memutuskan koneksi dari basis data

Jangan khawatir jika ini terlihat seperti sup abjad saat ini. Kita akan menggunakan setiap metode ini dalam contoh kita, dan saya berjanji mereka akan menjadi familiar seperti emoji kesukaanmu!

Menyambungkan ke Basis Data

Mari kita mulai dengan mengatakan "Hai" ke basis datamu. Berikut adalah caranya:

use DBI;

my $dbname = "mydb";
my $host = "localhost";
my $port = "5432";
my $username = "postgres";
my $password = "password";

my $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$host;port=$port",
$username,
$password,
{ AutoCommit => 1, RaiseError => 1 });

print "Terhubung ke basis data secara sukses!\n";

mari kitauraikan ini:

  • Kita menggunakan modul DBI yang kita install sebelumnya.
  • Kita menyiapkan detil koneksi (nama basis data, host, port, username, dan password).
  • Metode connect() mengatur koneksi.
  • AutoCommit => 1 berarti setiap operasi basis data kita akan dikommit secara otomatis.
  • RaiseError => 1 memberitahu Perl untuk memunculkan pengecualian jika ada kesalahan.

Jika Anda menjalankan ini dan melihat "Terhubung ke basis data secara sukses!", berikan dirimu sebuah high five!

Membuat Tabel

Sekarang kita sudah terhubung, mari kita buat sebuah tabel. Bayangkan kita membangun sistem perpustakaan sederhana:

my $sql = "CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(100) NOT NULL,
author VARCHAR(100) NOT NULL,
publication_year INTEGER
)";

$dbh->do($sql);
print "Tabel 'books' dibuat secara sukses!\n";

Berikut apa yang terjadi:

  • Kita menyiapkan pernyataan SQL untuk membuat tabel bernama 'books'.
  • Metode do() menjalankan pernyataan SQL secara langsung.
  • Jika tidak ada kesalahan yang terjadi, tabel kita dibuat!

Operasi INSERT

Mari kita tambahkan beberapa buku ke perpustakaan kita:

my $sth = $dbh->prepare("INSERT INTO books (title, author, publication_year) VALUES (?, ?, ?)");

my @books = (
["The Hitchhiker's Guide to the Galaxy", "Douglas Adams", 1979],
["1984", "George Orwell", 1949],
["To Kill a Mockingbird", "Harper Lee", 1960]
);

foreach my $book (@books) {
$sth->execute(@$book);
}

print "Buku ditambahkan secara sukses!\n";

Berikut penguraian nya:

  • Kita menyiapkan pernyataan SQL dengan placeholder (?).
  • Kita membuat array buku yang akan dimasukkan.
  • Kita loop melalui array, menjalankan pernyataan yang disiapkan untuk setiap buku.
  • Metode execute() mengisi placeholder dengan data kita.

Operasi SELECT

Sekarang, mari kitaambil bukunya:

$sth = $dbh->prepare("SELECT * FROM books");
$sth->execute();

while (my $row = $sth->fetchrow_hashref()) {
print "Title: $row->{title}, Author: $row->{author}, Year: $row->{publication_year}\n";
}

Apa yang sedang terjadi:

  • Kita menyiapkan dan menjalankan pernyataan SELECT.
  • Kita menggunakan loop while dengan fetchrow_hashref() untuk mengambil setiap baris.
  • Kita mencetak detil setiap buku.

Operasi UPDATE

Ups! Kita membuat kesalahan. "1984" sebenarnya diterbitkan pada tahun 1948. Mari kita perbaiki itu:

$sth = $dbh->prepare("UPDATE books SET publication_year = ? WHERE title = ?");
$sth->execute(1948, "1984");

print "Buku diperbarui secara sukses!\n";

Berikut apa yang kita lakukan:

  • Kita menyiapkan pernyataan UPDATE dengan placeholder.
  • Kita menjalankan itu dengan tahun yang benar dan judul buku.

Operasi DELETE

Akhirnya, mari kita hapus buku dari basis datamu:

$sth = $dbh->prepare("DELETE FROM books WHERE title = ?");
$sth->execute("The Hitchhiker's Guide to the Galaxy");

print "Buku dihapus secara sukses!\n";

Dan ini apa yang terjadi:

  • Kita menyiapkan pernyataan DELETE dengan placeholder.
  • Kita menjalankan itu dengan judul buku yang akan dihapus.

Dan begitu saja! Anda baru saja belajar dasar interaksi dengan PostgreSQL menggunakan Perl. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba perintah ini. Sebelum Anda tahu, Anda akan menulis kode basis data dalam mimpimu (meskipun saya tidak merekomendasikan - keyboard membuat bantal yang buruk).

Selamat coding, dan may your queries always return the results you expect!

Credits: Image by storyset