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!

PostgreSQL - Syntax

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:

  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 basisdata mana yang Anda kerjakan
  4. 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:

  1. Mengambil nama dan rumah para penyihir, beserta pelajaran mereka
  2. Menggabungkan tabel wizards dengan tabel subjects
  3. Menyaring hanya siswa Ravenclaw
  4. 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