Tiga perintah SQL

1. DDL (Data Definition Language)

DDL adalah bagian dari SQL yang digunakan untuk membuat, mengubah, menghapus basis data serta objek-objek di dalamnya. DDL berfokus pada bagaimana struktur basis data didefinisikan dan dikelola.

Contoh penggunaan DDL:

CREATE TABLE pelanggan (
    id INT PRIMARY KEY,
    nama VARCHAR(100),
    alamat TEXT
);

Kode di atas membuat tabel pelanggan dengan tiga kolom: id, nama, dan alamat.

2. DML (Data Manipulation Language)

DML digunakan untuk mengelola data dalam tabel, seperti menambah, mengubah, menghapus, atau mengambil data.

Contoh penggunaan DML:

INSERT INTO pelanggan (id, nama, alamat) 
VALUES (1, 'Zu', 'Jakarta');

Kode ini menambahkan data pelanggan dengan ID 1, nama "Zu", dan alamat "Jakarta".

3. DCL (Data Control Language)

DCL digunakan untuk mengatur hak akses dan izin pengguna dalam database.

Contoh penggunaan DCL:

GRANT SELECT, INSERT ON pelanggan TO user1;

Kode ini memberikan izin kepada user1 untuk melihat (SELECT) dan menambahkan (INSERT) data di tabel pelanggan.

Penjelasan tambahan

CREATE → Digunakan untuk membuat database, tabel, atau objek lainnya.
Contoh:

CREATE TABLE pelanggan (
    id INT PRIMARY KEY,
    nama VARCHAR(100),
    alamat TEXT
);

ALTER → Digunakan untuk mengubah struktur tabel, seperti menambah, menghapus, atau mengubah kolom.
Contoh: Menambah kolom baru

ALTER TABLE pelanggan ADD COLUMN email VARCHAR(255);

DROP → Menghapus tabel, database, atau objek lain secara permanen.
Contoh:

DROP TABLE pelanggan;

RENAME → Mengubah nama tabel atau objek lainnya.
Contoh:

RENAME TABLE pelanggan TO pelanggan_baru;

TRUNCATE → Menghapus semua data dalam tabel tanpa menghapus strukturnya. Lebih cepat dibanding DELETE.
Contoh:

TRUNCATE TABLE pelanggan;

COMMENT → Menambahkan deskripsi atau komentar pada tabel atau kolom.
Contoh:

COMMENT ON COLUMN pelanggan.nama IS 'Nama lengkap pelanggan';

SELECT → Mengambil data dari tabel.
Contoh:

SELECT * FROM pelanggan;

INSERT → Menambahkan data ke dalam tabel.
Contoh:

INSERT INTO pelanggan (id, nama, alamat) VALUES (1, 'Eliza', 'Jakarta');

UPDATE → Mengubah data yang sudah ada dalam tabel.
Contoh:

UPDATE pelanggan SET alamat = 'Bandung' WHERE id = 1;

DELETE → Menghapus data dari tabel berdasarkan kondisi tertentu.
Contoh:

DELETE FROM pelanggan WHERE id = 1;

MERGE → Menggabungkan dua tabel dan melakukan insert, update, atau delete berdasarkan kondisi tertentu (biasanya untuk UPSERT - kombinasi update & insert).

Contoh:

MERGE INTO pelanggan AS target
USING pelanggan_baru AS source
ON target.id = source.id
WHEN MATCHED THEN UPDATE SET target.nama = source.nama
WHEN NOT MATCHED THEN INSERT (id, nama, alamat) VALUES (source.id, source.nama, source.alamat);

CALL → Menjalankan prosedur tersimpan (stored procedure).
Contoh:

CALL update_harga_produk();

EXPLAIN PLAN → Menampilkan rencana eksekusi query untuk optimasi performa.
Contoh:

EXPLAIN PLAN FOR SELECT * FROM pelanggan;

LOCK TABLE → Mengunci tabel untuk mencegah akses bersamaan oleh transaksi lain.
Contoh:

LOCK TABLE pelanggan IN EXCLUSIVE MODE;

GRANT → Memberikan hak akses kepada user atau role.
Contoh:

GRANT SELECT, INSERT ON pelanggan TO user1;

REVOKE → Mencabut hak akses yang sudah diberikan sebelumnya.
Contoh:

REVOKE INSERT ON pelanggan FROM user1;