PostgreSQL - Sintaks
Hai teman-teman, para ahli basisdata masa depan! Hari ini, kita akan mendalam ke dunia magis sintaks PostgreSQL. Jangan khawatir jika Anda masih pemula dalam pemrograman - saya akan menjadi panduan yang ramah untuk Anda dalam perjalanan ini. mari grab perisai maya Anda (papan ketik), dan mari kita mulai!
Pernyataan SQL
Sebelum kita melompat ke hal-hal spesifik PostgreSQL, mari bicarakan tentang pernyataan SQL secara umum. SQL, atau Structured Query Language, mirip seperti buku sihir untuk basisdata. Itu adalah bahasa yang kita gunakan untuk berkomunikasi dengan basisdata kita dan membuatnya melakukan kehendak kita.
Struktur Dasar
Sebuah pernyataan SQL biasanya mengikuti struktur ini:
COMMAND action_to_perform
[ON object]
[WHERE conditions];
mari kitauraikan ini:
-
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 basisdata mana yang Anda kerjakan -
WHERE conditions
: Ini juga opsional dan memungkinkan Anda menetapkan kondisi khusus
Contoh
Ini 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 inginkan untuk diambil -
FROM employees
memberitahu kita tabel mana yang kita ambil data dari -
WHERE department = 'IT'
adalah kondisi kita, menyaring untuk karyawan departemen IT
Perintah SQL PostgreSQL
Sekarang kita telah melihat dasar-dasar, mari kita lihat beberapa perintah PostgreSQL khusus. Bayangkan ini sebagai sihir berbeda dalam buku sihir SQL Anda!
Data Definition Language (DDL) Commands
Perintah ini digunakan untuk menentukan dan memodifikasi struktur objek basisdata Anda.
Perintah | Deskripsi | Contoh |
---|---|---|
CREATE | Membuat objek basisdata baru | CREATE TABLE students (id INT, name VARCHAR(50)); |
ALTER | Memodifikasi objek basisdata yang ada | ALTER TABLE students ADD COLUMN age INT; |
DROP | Menghapus objek basisdata | 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 membuat tabel 'wizards' dengan kolom id, name, house, jenis tongkat, dan tanggal pendaftaran. Tipe SERIAL
untuk id berarti itu akan otomatis dinaikkan untuk setiap entri baru.
Data Manipulation Language (DML) Commands
Ini adalah 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 para penyihir, beserta pelajaran mereka
- Menggabungkan tabel wizards dengan tabel subjects
- Menyaring hanya siswa Ravenclaw
- Mengurutkan hasil berdasarkan nama penyihir
Data Control Language (DCL) Commands
Perintah ini seperti sihir keamanan basisdata kita, mengontrol akses dan hak akses.
Perintah | Deskripsi | Contoh |
---|---|---|
GRANT | Memberikan hak akses khusus ke pengguna | GRANT SELECT ON wizards TO student_user; |
REVOKE | Menghapus hak akses 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; |
Ini adalah bagaimana Anda mungkin menggunakan ini dalam praktik:
BEGIN;
UPDATE account SET balance = balance - 100 WHERE id = 1;
UPDATE account SET balance = balance + 100 WHERE id = 2;
COMMIT;
Transaksi ini mentransfer 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 membantu:
Perintah | Deskripsi | Contoh |
---|---|---|
EXPLAIN | Menampilkan rencana eksekusi pernyataan | EXPLAIN SELECT * FROM wizards; |
VACUUM | Mengurangi sampah dan secara opsional menganalisis basisdata | 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 begitu Anda punya nya, para pemurid SQL muda! Kita telah melihat sintaks dasar dan perintah PostgreSQL. Ingat, seperti sihir manapun, menguasai SQL memerlukan latihan. Jangan khawatir untuk mencoba dan mencoba perintah berbeda. Sebelum Anda tahu, Anda akan dapat menciptakan query kompleks dengan mudah!
Kali berikutnya, kita akan mendalam ke seni mistik desain basisdata dan pengqueryan tingkat lanjut. Sampai jumpa, maya query Anda cepat dan hasil banyak!
Credits: Image by storyset