SQLite - Perl: Panduan untuk Pemula
Hai teman-teman, para ahli basis data masa depan! Saya sangat senang menjadi panduanmu dalam perjalanan menarik ini ke dunia SQLite dan Perl. Sebagai seseorang yang telah mengajar ilmu komputer selama bertahun-tahun, saya bisa katakan bahwa kombinasi ini seperti mentega dan selai - benar-benar lezat! Jadi, mari kita lipatkan lengan dan masuk ke dalam!
Instalasi
Sebelum kita bisa mulai menciptakan magi basis data, kita perlu mengatur tools kita. Pictalkan ini sebagai persiapan dapurmu sebelum memasak makanan kelas dunia.
- Pertama-tama, pastikan Anda memiliki Perl terinstal di sistem Anda. Anda dapat memeriksa ini dengan membuka terminal dan mengetik:
perl -v
Jika Anda melihat informasi versi, Anda siap untuk maju!
- Selanjutnya, kita perlu menginstal modul DBI (Database Interface) dan driver SQLite. Buka terminal Anda dan ketik:
cpan install DBI
cpan install DBD::SQLite
Ini mungkin memakan beberapa menit, jadi jangan ragu untuk mengambil secangkir kopi saat menunggu.
API Interface DBI
Sekarang kita memiliki bahan-bahan siap, mari kita lihat buku resep - API Interface DBI. Ini adalah fungsi yang kita akan gunakan untuk berinteraksi dengan basis data SQLite kita.
Berikut adalah tabel metode DBI paling umum yang kita akan gunakan:
Metode | Deskripsi |
---|---|
connect() | Membuat koneksi ke basis data |
prepare() | Menyiapkan pernyataan SQL untuk eksekusi |
execute() | Mengeksekusi pernyataan yang disiapkan |
fetch() | Mengambil baris data dari pernyataan select |
disconnect() | Menutup koneksi basis data |
Jangan khawatir jika ini terlihat membingungkan sekarang. Kita akan menjelajahi masing-masing dari ini secara detil saat kita maju.
Menghubungkan ke Basis Data
Mari kita mulai dengan membuat koneksi ke basis data SQLite kita. Ini seperti mengetuk pintu dan meminta izin masuk.
#!/usr/bin/perl
use strict;
use warnings;
use DBI;
my $driver = "SQLite";
my $database = "test.db";
my $dsn = "DBI:$driver:dbname=$database";
my $userid = "";
my $password = "";
my $dbh = DBI->connect($dsn, $userid, $password, { RaiseError => 1 })
or die $DBI::errstr;
print "Basis data terbuka secara sukses\n";
mari kitauraikan ini:
- Kita mulai dengan mengimpor modul yang diperlukan.
- Kita menentukan driver (SQLite) dan nama basis data.
- Kita menciptakan string Data Source Name (DSN).
- Kita menggunakan
DBI->connect()
untuk membuat koneksi dan menyimpannya di$dbh
. - Jika koneksi sukses, kita cetak pesan sukses.
Membuat Tabel
Sekarang kita dalam, mari kita buat tabel untuk menyimpan beberapa data. Pictalkan ini sebagai membuat spreadsheet baru di Excel.
my $stmt = qq(CREATE TABLE COMPANY
(ID INT PRIMARY KEY NOT NULL,
NAME TEXT NOT NULL,
AGE INT NOT NULL,
ADDRESS CHAR(50),
SALARY REAL););
my $rv = $dbh->do($stmt);
if($rv < 0) {
print $DBI::errstr;
} else {
print "Tabel dibuat secara sukses\n";
}
Berikut apa yang terjadi:
- Kita menentukan pernyataan SQL untuk membuat tabel bernama COMPANY.
- Kita menggunakan
$dbh->do()
untuk menjalankan pernyataan. - Kita memeriksa apakah operasi sukses dan mencetak pesan yang sesuai.
Operasi INSERT
Sekarang saatnya menambahkan data ke tabel kita. Ini seperti mengisi baris di spreadsheet kita.
my $stmt = qq(INSERT INTO COMPANY (ID,NAME,AGE,ADDRESS,SALARY)
VALUES (1, 'Paul', 32, 'California', 20000.00 ));
my $rv = $dbh->do($stmt) or die $DBI::errstr;
print "Rekord dibuat secara sukses\n";
Dalam kode ini:
- Kita membuat pernyataan SQL INSERT.
- Kita menjalankan itu menggunakan
$dbh->do()
. - Jika sukses, kita mencetak pesan konfirmasi.
Operasi SELECT
Sekarang, mari kita mengambil data kita. Ini seperti membaca informasi dari spreadsheet kita.
my $stmt = qq(SELECT id, name, address, salary from COMPANY;);
my $sth = $dbh->prepare( $stmt );
my $rv = $sth->execute() or die $DBI::errstr;
if($rv < 0) {
print $DBI::errstr;
}
while(my @row = $sth->fetchrow_array()) {
print "ID = ". $row[0] . "\n";
print "NAME = ". $row[1] ."\n";
print "ADDRESS = ". $row[2] ."\n";
print "SALARY = ". $row[3] ."\n\n";
}
Berikut penjelasannya:
- Kita menyiapkan pernyataan SQL SELECT menggunakan
$dbh->prepare()
. - Kita menjalankan pernyataan dengan
$sth->execute()
. - Kita menggunakan loop while dengan
$sth->fetchrow_array()
untuk mengambil dan mencetak setiap baris.
Operasi UPDATE
kadang-kadang kita perlu mengubah data kita. Ini seperti mengedit sel di spreadsheet kita.
my $stmt = qq(UPDATE COMPANY set SALARY = 25000.00 where ID=1;);
my $rv = $dbh->do($stmt) or die $DBI::errstr;
if( $rv < 0 ) {
print $DBI::errstr;
} else {
print "Jumlah total baris yang diperbarui: $rv\n";
}
Dalam kode ini:
- Kita membuat pernyataan SQL UPDATE.
- Kita menjalankan itu dengan
$dbh->do()
. - Kita memeriksa berapa banyak baris yang terpengaruh dan mencetak hasilnya.
Operasi DELETE
Akhirnya, mari kita belajar bagaimana menghapus data. Ini seperti menghapus baris dari spreadsheet kita.
my $stmt = qq(DELETE from COMPANY where ID=2;);
my $rv = $dbh->do($stmt) or die $DBI::errstr;
if( $rv < 0 ) {
print $DBI::errstr;
} else {
print "Jumlah total baris yang dihapus: $rv\n";
}
Kode ini mengikuti pola yang sama seperti operasi UPDATE kita:
- Kita membuat pernyataan SQL DELETE.
- Kita menjalankan itu dengan
$dbh->do()
. - Kita memeriksa berapa banyak baris yang terpengaruh dan mencetak hasilnya.
Dan itu adalah! Anda telah belajar dasar-dasar kerja dengan basis data SQLite menggunakan Perl. Ingat, latihan membuat sempurna, jadi jangan khawatir untuk mencoba contoh-contoh ini. Sebelum Anda sadar, Anda akan membuat aplikasi basis data kompleks dengan mudah!
Credits: Image by storyset