๐งฉ 1. Pengenalan MySQL
Apa itu MySQL?
MySQL adalah sistem manajemen basis data relasional (RDBMS) yang menggunakan bahasa SQL (Structured Query Language) untuk mengelola data.
Kelebihan MySQL:
- Gratis dan open source
- Banyak digunakan di web (PHP, Laravel, WordPress, dll)
- Cepat dan ringan
- Mendukung banyak platform (Windows, Linux, macOS)
โ๏ธ 2. Instalasi MySQL
Pilihan cara:
- Instal manual:
- Unduh dari https://dev.mysql.com/downloads/
- Instal โMySQL Serverโ dan โMySQL Workbenchโ.
- Melalui XAMPP (lebih mudah):
- Unduh dari https://www.apachefriends.org/
- Jalankan
ApachedanMySQL - Akses phpMyAdmin di browser:
๐http://localhost/phpmyadmin
๐งฑ 3. Membuat Database
A. Dengan SQL Command
CREATE DATABASE db_kursus;
B. Menampilkan daftar database
SHOW DATABASES;
C. Menggunakan database
USE db_kursus;
D. Menghapus database
DROP DATABASE db_kursus;
๐ช 4. Membuat Tabel
Contoh: tabel peserta_kursus
CREATE TABLE peserta_kursus (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100),
alamat VARCHAR(200),
no_hp VARCHAR(20),
kursus VARCHAR(50)
);
Menampilkan daftar tabel
SHOW TABLES;
Melihat struktur tabel
DESCRIBE peserta_kursus;
Menghapus tabel
DROP TABLE peserta_kursus;
๐ 5. Manipulasi Data (CRUD)
CRUD = Create, Read, Update, Delete
A. INSERT (Menambah Data)
INSERT INTO peserta_kursus (nama, alamat, no_hp, kursus)
VALUES ('Andi', 'Cileungsi', '08123456789', 'MS Office');
Menambah lebih dari satu data:
INSERT INTO peserta_kursus (nama, alamat, no_hp, kursus)
VALUES
('Budi', 'Bekasi', '08129876543', 'Web Programming'),
('Citra', 'Depok', '08213456789', 'Desain Grafis');
B. SELECT (Menampilkan Data)
Semua data:
SELECT * FROM peserta_kursus;
Menampilkan kolom tertentu:
SELECT nama, kursus FROM peserta_kursus;
Menampilkan dengan kondisi:
SELECT * FROM peserta_kursus WHERE kursus = 'MS Office';
Urutkan data:
SELECT * FROM peserta_kursus ORDER BY nama ASC;
C. UPDATE (Mengubah Data)
UPDATE peserta_kursus
SET alamat = 'Bogor', no_hp = '0811111111'
WHERE id = 1;
D. DELETE (Menghapus Data)
DELETE FROM peserta_kursus WHERE id = 2;
Menghapus semua data (hati-hati!):
DELETE FROM peserta_kursus;
๐ง 6. Alter Table (Mengubah Struktur Tabel)
Menambah kolom
ALTER TABLE peserta_kursus ADD email VARCHAR(100);
Mengubah tipe kolom
ALTER TABLE peserta_kursus MODIFY no_hp VARCHAR(30);
Mengganti nama kolom
ALTER TABLE peserta_kursus CHANGE kursus nama_kursus VARCHAR(100);
Menghapus kolom
ALTER TABLE peserta_kursus DROP COLUMN email;
Mengganti nama tabel
RENAME TABLE peserta_kursus TO tbl_peserta;
๐ 7. Fungsi dan Operator di MySQL
Fungsi umum:
| Fungsi | Kegunaan | Contoh |
|---|---|---|
COUNT() | Menghitung jumlah data | SELECT COUNT(*) FROM tbl_peserta; |
MAX() | Nilai maksimum | SELECT MAX(nilai) FROM siswa; |
MIN() | Nilai minimum | SELECT MIN(nilai) FROM siswa; |
AVG() | Rata-rata | SELECT AVG(nilai) FROM siswa; |
SUM() | Jumlah total | SELECT SUM(nilai) FROM siswa; |
Operator logika:
| Operator | Arti |
|---|---|
= | Sama dengan |
<> atau != | Tidak sama |
> | Lebih besar |
< | Lebih kecil |
>= | Lebih besar atau sama |
<= | Lebih kecil atau sama |
AND | Dan |
OR | Atau |
NOT | Bukan |
๐ 8. Relasi Tabel (Foreign Key)
Contoh: dua tabel โ peserta dan pembayaran.
CREATE TABLE peserta (
id INT AUTO_INCREMENT PRIMARY KEY,
nama VARCHAR(100)
);
CREATE TABLE pembayaran (
id INT AUTO_INCREMENT PRIMARY KEY,
peserta_id INT,
jumlah INT,
FOREIGN KEY (peserta_id) REFERENCES peserta(id)
);
๐ง 9. JOIN (Menggabungkan Tabel)
SELECT peserta.nama, pembayaran.jumlah
FROM peserta
JOIN pembayaran ON peserta.id = pembayaran.peserta_id;
Jenis JOIN:
INNER JOINโ hanya data yang cocokLEFT JOINโ semua data kiri + yang cocok di kananRIGHT JOINโ semua data kanan + yang cocok di kiri
๐งฎ 10. Backup dan Restore Database
Backup (export)
Di phpMyAdmin:
Klik database โ tab Export โ pilih Quick โ klik Go
Atau dengan command:
mysqldump -u root -p db_kursus > backup.sql
Restore (import)
mysql -u root -p db_kursus < backup.sql
๐งฐ 11. Tips & Praktik Terbaik
โ
Gunakan PRIMARY KEY untuk setiap tabel
โ
Gunakan FOREIGN KEY untuk relasi data
โ
Gunakan backup rutin
โ
Hindari DELETE tanpa WHERE
โ
Gunakan LIMIT saat menampilkan banyak data
โ
Gunakan index untuk mempercepat query