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!
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:
-
COMMAND
: Ini adalah apa yang Anda inginkan (seperti SELECT, INSERT, UPDATE, dll.) -
action_to_perform
: Ini menentukan apa yang Anda lakukan dengan perintah -
ON object
: Ini opsional dan menentukan objek basis data mana yang Anda gunakan -
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:
- Mengambil nama dan rumah penyihir, beserta subjek mereka
- Menggabungkan tabel wizards dengan tabel subjects
- Mensaring hanya siswa Ravenclaw
- 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