📘 Materi MySQL Dasar Lengkap

paket web master komplit

🧩 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:

  1. Instal manual:
  2. Melalui XAMPP (lebih mudah):

🧱 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:

FungsiKegunaanContoh
COUNT()Menghitung jumlah dataSELECT COUNT(*) FROM tbl_peserta;
MAX()Nilai maksimumSELECT MAX(nilai) FROM siswa;
MIN()Nilai minimumSELECT MIN(nilai) FROM siswa;
AVG()Rata-rataSELECT AVG(nilai) FROM siswa;
SUM()Jumlah totalSELECT SUM(nilai) FROM siswa;

Operator logika:

OperatorArti
=Sama dengan
<> atau !=Tidak sama
>Lebih besar
<Lebih kecil
>=Lebih besar atau sama
<=Lebih kecil atau sama
ANDDan
ORAtau
NOTBukan

🔗 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 cocok
  • LEFT JOIN – semua data kiri + yang cocok di kanan
  • RIGHT 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

Leave a Reply

Your email address will not be published. Required fields are marked *