Learn/ Tutorial Coding/ MySQL/ Query Dasar CRUD
๐Ÿ’ฌ MySQL ยท Tutorial 2

Query SQL Dasar: CRUD

CRUD adalah 4 operasi utama database: Create (tambah), Read (baca), Update (ubah), Delete (hapus). Kuasai 4 ini dan kamu bisa mengelola semua jenis data!

C

CREATE

INSERT INTO
R

READ

SELECT
U

UPDATE

UPDATE SET
D

DELETE

DELETE FROM

# Data latihan โ€” tabel siswa yang kita pakai

idnamakelasnilaialamat
1Budi Santoso8A88Lamongan
2Siti Rahayu8B92Gresik
3Andi Pratama9A65Surabaya
4Rina Wulandari8A79Lamongan
C

INSERT โ€” Tambah Data

-- Tambah 1 siswa
INSERT INTO siswa (nama, kelas, nilai, alamat)
VALUES ('Budi Santoso', '8A', 88, 'Lamongan');

-- Tambah banyak siswa sekaligus
INSERT INTO siswa (nama, kelas, nilai, alamat)
VALUES
    ('Siti Rahayu',   '8B', 92, 'Gresik'),
    ('Andi Pratama',  '9A', 65, 'Surabaya'),
    ('Rina Wulandari','8A', 79, 'Lamongan');

-- id auto increment, tidak perlu diisi manual!
R

SELECT โ€” Baca/Tampilkan Data

-- Tampilkan SEMUA kolom dari tabel siswa
SELECT * FROM siswa;

-- Tampilkan kolom tertentu saja
SELECT nama, kelas, nilai FROM siswa;

-- Filter dengan WHERE
SELECT * FROM siswa WHERE kelas = '8A';
SELECT * FROM siswa WHERE nilai >= 75;
SELECT * FROM siswa WHERE nama LIKE '%Budi%';  -- nama mengandung "Budi"

-- Urutkan hasil
SELECT * FROM siswa ORDER BY nilai DESC;   -- terbesar dulu
SELECT * FROM siswa ORDER BY nama ASC;    -- Aโ€“Z

-- Batasi jumlah hasil
SELECT * FROM siswa LIMIT 3;              -- hanya 3 baris

-- Fungsi agregat (perhitungan)
SELECT COUNT(*)       AS jumlah_siswa  FROM siswa;
SELECT AVG(nilai)    AS rata_rata     FROM siswa;
SELECT MAX(nilai)    AS nilai_max     FROM siswa;
SELECT MIN(nilai)    AS nilai_min     FROM siswa;
SELECT SUM(nilai)    AS total_nilai   FROM siswa;

-- Group by โ€” statistik per kelas
SELECT kelas, COUNT(*) AS jumlah, AVG(nilai) AS rata
FROM siswa
GROUP BY kelas;
U

UPDATE โ€” Ubah Data

-- Ubah nilai Budi (id=1)
UPDATE siswa
SET nilai = 95
WHERE id_siswa = 1;

-- Ubah beberapa kolom sekaligus
UPDATE siswa
SET kelas = '9A', alamat = 'Jakarta'
WHERE id_siswa = 2;

-- โš ๏ธ WAJIB pakai WHERE! Tanpa WHERE, SEMUA baris berubah!
-- UPDATE siswa SET nilai = 0;  โ† BERBAHAYA! Jangan lakukan ini!
โš ๏ธ Peringatan penting: Selalu gunakan WHERE dalam UPDATE dan DELETE. Tanpa WHERE, semua baris di tabel akan terpengaruh!
D

DELETE โ€” Hapus Data

-- Hapus siswa dengan id tertentu
DELETE FROM siswa WHERE id_siswa = 3;

-- Hapus semua siswa kelas 7 (yang sudah naik kelas)
DELETE FROM siswa WHERE kelas LIKE '7%';

-- Kosongkan seluruh tabel (tapi struktur tetap ada)
TRUNCATE TABLE siswa;

-- Hapus tabel sepenuhnya (struktur pun terhapus)
DROP TABLE siswa;

๐Ÿ“‹ Cheat Sheet SQL Dasar

OperasiQueryFungsi
Buat DB CREATE DATABASE nama_db Membuat database baru
Pilih DB USE nama_db Aktifkan database yang ingin dipakai
Lihat tabel SHOW TABLES Daftar semua tabel di database aktif
Struktur tabel DESCRIBE nama_tabel Lihat kolom dan tipe datanya
Tambah data INSERT INTO ... VALUES ... Memasukkan baris baru
Baca semua SELECT * FROM tabel Tampilkan semua data
Baca + filter SELECT * FROM tabel WHERE kondisi Tampilkan data yang memenuhi syarat
Ubah data UPDATE tabel SET kol=val WHERE id=x Perbarui baris tertentu
Hapus baris DELETE FROM tabel WHERE id=x Hapus baris tertentu
Urutkan ORDER BY kolom DESC/ASC Urutkan hasil query
Batasi LIMIT n Ambil maksimal n baris
Hitung COUNT(*), AVG(), MAX(), SUM() Fungsi statistik/agregat

๐ŸŽฏ Latihan Mandiri

Coba query berikut di phpMyAdmin atau DB Fiddle:

  1. 1. Tambahkan 3 siswa baru ke tabel siswa
  2. 2. Tampilkan semua siswa kelas 8A yang nilainya di atas 80
  3. 3. Hitung rata-rata nilai per kelas menggunakan GROUP BY
  4. 4. Update nilai siswa dengan id tertentu menjadi 100
  5. 5. Hapus siswa yang nilainya di bawah 50
โ† Tutorial 1: Pengenalan Database Semua Tutorial MySQL โ†’