PostgreSQL - Sintaks

Hai sana, para ahli basis data masa depan! Hari ini, kita akan mandar ke dunia magis sintaks PostgreSQL. Jangan khawatir jika Anda baru belajar pemrograman - saya akan menjadi panduan yang ramah bagi Anda dalam perjalanan ini. Jadi, ambil wicara virtual Anda (papan ketik), dan mari kita mulai!

PostgreSQL - Syntax

Pernyataan SQL

Sebelum kita melompat ke hal-hal khusus PostgreSQL, mari bicarakan tentang pernyataan SQL secara umum. SQL, atau Structured Query Language, mirip dengan buku sihir bagi basis data. Itu adalah bahasa yang kita gunakan untuk berkomunikasi dengan basis data kita dan membuatnya melakukan kehendak kita.

Struktur Dasar

Sebuah pernyataan SQL biasanya mengikuti struktur ini:

COMMAND action_to_perform
[ON object]
[WHERE conditions];

Berkurang:

  1. COMMAND: Ini adalah apa yang Anda inginkan (seperti SELECT, INSERT, UPDATE, dll.)
  2. action_to_perform: Ini menentukan apa yang Anda lakukan dengan perintah
  3. ON object: Ini opsional dan menentukan objek basis data mana yang Anda gunakan
  4. WHERE conditions: Ini juga opsional dan memungkinkan Anda menetapkan kondisi khusus

Contoh

Berikut adalah contoh sederhana:

SELECT first_name, last_name
FROM employees
WHERE department = 'IT';

Dalam pernyataan ini:

  • SELECT adalah perintah kita
  • first_name, last_name adalah apa yang kita ingin peroleh
  • FROM employees mengatakan kepada kita tabel mana yang kitaambil data dari
  • WHERE department = 'IT' adalah kondisi kita, menyaring pegawai departemen IT

Perintah SQL PostgreSQL

Sekarang kita telah menutupi dasar-dasar, mari kita lihat beberapa perintah PostgreSQL khusus. Pihak ini seperti sihir berbeda dalam buku sihir SQL Anda!

Data Definition Language (DDL) Commands

Perintah ini digunakan untuk menentukan dan memodifikasi struktur objek basis data Anda.

Perintah Deskripsi Contoh
CREATE Membuat objek basis data baru CREATE TABLE students (id INT, name VARCHAR(50));
ALTER Memodifikasi objek basis data yang ada ALTER TABLE students ADD COLUMN age INT;
DROP Menghapus objek basis data DROP TABLE students;
TRUNCATE Menghapus semua data dari tabel TRUNCATE TABLE students;

Mari kita lihat contoh yang lebih detil dari CREATE:

CREATE TABLE wizards (
id SERIAL PRIMARY KEY,
name VARCHAR(100) NOT NULL,
house VARCHAR(50),
wand_type VARCHAR(50),
enrollment_date DATE
);

Ini menciptakan tabel 'wizards' dengan kolom untuk id, name, house, jenis tongkat, dan tanggal pendaftaran. Tipe SERIAL untuk id berarti itu akan otomatis bertambah untuk setiap entri baru.

Data Manipulation Language (DML) Commands

Perintah ini adalah sihir... er, perintah yang kita gunakan untuk bekerja dengan data di dalam tabel kita.

Perintah Deskripsi Contoh
SELECT Mengambil data dari satu atau lebih tabel SELECT * FROM wizards;
INSERT Menambahkan data baru ke dalam tabel INSERT INTO wizards (name, house) VALUES ('Harry Potter', 'Gryffindor');
UPDATE Memodifikasi data yang ada di tabel UPDATE wizards SET house = 'Slytherin' WHERE name = 'Draco Malfoy';
DELETE Menghapus data dari tabel DELETE FROM wizards WHERE name = 'Voldemort';

Mari kita lihat pernyataan SELECT yang lebih kompleks:

SELECT w.name, w.house, s.subject
FROM wizards w
JOIN subjects s ON w.id = s.wizard_id
WHERE w.house = 'Ravenclaw'
ORDER BY w.name;

Pernyataan ini:

  1. Mengambil nama dan rumah penyihir, beserta subjek mereka
  2. Menggabungkan tabel wizards dengan tabel subjects
  3. Mensaring hanya siswa Ravenclaw
  4. Mengurutkan hasil berdasarkan nama penyihir

Data Control Language (DCL) Commands

Perintah ini seperti sihir keamanan basis data kita, mengendalikan akses dan hak.

Perintah Deskripsi Contoh
GRANT Memberikan hak khusus kepada pengguna GRANT SELECT ON wizards TO student_user;
REVOKE Menghapus hak khusus dari pengguna REVOKE INSERT ON wizards FROM student_user;

Transaction Control Commands

Perintah ini membantu kita mengelola transaksi - kelompok pernyataan SQL yang harus dieksekusi bersamaan.

Perintah Deskripsi Contoh
BEGIN Memulai transaksi BEGIN;
COMMIT Menyimpan perubahan transaksi COMMIT;
ROLLBACK Membatalkan perubahan transaksi ROLLBACK;

Berikut adalah contoh penggunaannya dalam praktek:

BEGIN;
UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;
COMMIT;

Transaksi ini memindahkan 100 unit dari akun 1 ke akun 2. Jika bagian manapun gagal, kita dapat menggunakan ROLLBACK untuk membatalkan semua perubahan.

Utility Commands

PostgreSQL juga memiliki beberapa perintah utilitas yang praktis:

Perintah Deskripsi Contoh
EXPLAIN Menampilkan rencana eksekusi pernyataan EXPLAIN SELECT * FROM wizards;
VACUUM Membersihkan sampah dan secara opsional menganalisis basis data VACUUM wizards;

Perintah EXPLAIN sangat berguna untuk optimasi query Anda. Itu seperti memiliki bola kristal yang menunjukkan bagaimana PostgreSQL merencanakan untuk menjalankan query Anda!

EXPLAIN SELECT * FROM wizards WHERE house = 'Hufflepuff';

Ini akan menunjukkan Anda rencana query, membantu Anda memahami bagaimana PostgreSQL memproses query Anda dan di mana Anda mungkin dapat optimalkan.

Dan itu saja, para pengikut SQL muda! Kita telah menutupi sintaks dasar dan perintah PostgreSQL. Ingat, seperti sihir yang bagus, memahami SQL memerlukan latihan. Jangan takut untuk meng eksperimen dan mencoba perintah yang berbeda. Sebelum Anda tahu, Anda akan menciptakan query yang kompleks dengan mudah!

Pada kesempatan berikutnya, kita akan memperolah seni mistik desain basis data dan penginjilan tingkat lanjut. Sampai jumpa, semoga query Anda cepat dan hasilnya banyak!

Credits: Image by storyset