๐ฌ 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
| id | nama | kelas | nilai | alamat |
| 1 | Budi Santoso | 8A | 88 | Lamongan |
| 2 | Siti Rahayu | 8B | 92 | Gresik |
| 3 | Andi Pratama | 9A | 65 | Surabaya |
| 4 | Rina Wulandari | 8A | 79 | Lamongan |
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
| Operasi | Query | Fungsi |
|---|---|---|
| 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. Tambahkan 3 siswa baru ke tabel siswa
- 2. Tampilkan semua siswa kelas 8A yang nilainya di atas 80
- 3. Hitung rata-rata nilai per kelas menggunakan GROUP BY
- 4. Update nilai siswa dengan id tertentu menjadi 100
- 5. Hapus siswa yang nilainya di bawah 50