๐Ÿ“˜ 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 *