Database & SQL

Selamat datang ke modul pembelajaran Database. Pelajari cara menyimpan dan mengurus data dengan MySQL.

Pengenalan Database

Database adalah koleksi teratur data yang disimpan secara elektronik dalam sistem komputer.

Kenapa Perlu Database?

  • Menyimpan data secara berstruktur
  • Mudah untuk cari, tambah, ubah, dan hapus data
  • Data selamat dan boleh dipercayai
  • Dapat digunakan oleh berbilang pengguna sekaligus
  • Sokongan backup dan recovery

Konsep Asas:

Istilah Keterangan
Database Koleksi table yang berkaitan
Table Koleksi data dalam baris dan lajur
Row/Record Satu baris data dalam table
Column/Field Satu lajur dalam table
SQL Bahasa untuk berkomunikasi dengan database

â„šī¸ Nota: Kita akan menggunakan MySQL sebagai sistem pengurusan database, dan PHPMyAdmin sebagai interface.

PHPMyAdmin

PHPMyAdmin adalah tool web-based untuk mengurus database MySQL dengan mudah.

Cara Akses PHPMyAdmin:

  1. Pastikan XAMPP/WAMP sedang running
  2. Buka browser dan pergi ke http://localhost/phpmyadmin
  3. Anda akan nampak dashboard PHPMyAdmin

✓ Tips: Bookmark URL PHPMyAdmin untuk akses yang lebih mudah!

Create Database

Langkah pertama adalah membuat database baru:

Melalui PHPMyAdmin:

  1. Klik tab "Databases" di menu atas
  2. Masukkan nama database (contoh: sekolah_db)
  3. Pilih "Collation" (biasanya utf8mb4_general_ci)
  4. Klik butang "Create"

Menggunakan SQL:

CREATE DATABASE sekolah_db;

Gunakan Database:

USE sekolah_db;

Create Table

Table digunakan untuk menyimpan data dalam bentuk baris dan lajur:

Contoh: Table Pelajar

CREATE TABLE pelajar (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    umur INT,
    kelas VARCHAR(10),
    email VARCHAR(100)
);

Jenis Data Popular:

Data Type Kegunaan
INT Nombor integer
VARCHAR(n) Teks dengan maksimum n aksara
TEXT Teks yang panjang
DATE Tarikh (YYYY-MM-DD)
DECIMAL(m,d) Nombor perpuluhan

â„šī¸ PRIMARY KEY: Unique identifier untuk setiap rekod. AUTO_INCREMENT akan tambah nombor secara automatik.

INSERT Data

INSERT digunakan untuk menambah data baru ke dalam table:

Sintaks Asas:

INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);

Contoh:

INSERT INTO pelajar (nama, umur, kelas, email)
VALUES ('Ahmad bin Ali', 17, '5 Sains', 'ahmad@email.com');

Insert Multiple Records:

INSERT INTO pelajar (nama, umur, kelas, email)
VALUES 
    ('Siti Aminah', 16, '5 Sains', 'siti@email.com'),
    ('Ali Hassan', 17, '5 Akaun', 'ali@email.com'),
    ('Nurul Huda', 16, '5 Sains', 'nurul@email.com');

âš ī¸ Ingat: String values mesti dalam petikan (''), manakala nombor tidak perlu petikan.

SELECT Data

SELECT digunakan untuk membaca/mengambil data dari database:

Select Semua Data:

SELECT * FROM pelajar;

Select Specific Columns:

SELECT nama, kelas FROM pelajar;

Select Dengan WHERE (Condition):

SELECT * FROM pelajar WHERE kelas = '5 Sains';

Select Dengan ORDER BY:

-- Ascending (A-Z)
SELECT * FROM pelajar ORDER BY nama ASC;

-- Descending (Z-A)
SELECT * FROM pelajar ORDER BY umur DESC;

Select Dengan LIMIT:

-- Ambil 5 rekod pertama sahaja
SELECT * FROM pelajar LIMIT 5;

✓ Tips: Gunakan WHERE untuk filter data, ORDER BY untuk susun, dan LIMIT untuk hadkan bilangan result.

UPDATE Data

UPDATE digunakan untuk mengubah data yang sedia ada:

Sintaks Asas:

UPDATE table_name
SET column1 = value1, column2 = value2
WHERE condition;

Contoh:

-- Update umur pelajar yang bernama Ahmad
UPDATE pelajar 
SET umur = 18 
WHERE nama = 'Ahmad bin Ali';

Update Multiple Columns:

UPDATE pelajar 
SET kelas = '6 Sains', email = 'ahmad_new@email.com'
WHERE id = 1;

🚨 PENTING: Sentiasa gunakan WHERE! Tanpa WHERE, SEMUA rekod akan di-update!

DELETE Data

DELETE digunakan untuk membuang data dari table:

Sintaks Asas:

DELETE FROM table_name WHERE condition;

Contoh:

-- Delete pelajar dengan id = 5
DELETE FROM pelajar WHERE id = 5;

Delete Dengan Condition:

-- Delete semua pelajar dari kelas 5 Akaun
DELETE FROM pelajar WHERE kelas = '5 Akaun';

🚨 BAHAYA: DELETE tanpa WHERE akan HAPUS SEMUA data dalam table! Sentiasa double-check WHERE clause anda!

â„šī¸ Nota: Data yang di-delete tidak boleh dikembalikan (kecuali ada backup). Berhati-hati!

PHP Database Connection

Untuk menggunakan database dalam aplikasi web, kita perlu sambungkan PHP dengan MySQL:

Membuat Connection (MySQLi):

<?php
$servername = "localhost";
$username = "root";
$password = "";
$database = "sekolah_db";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}
echo "Connected successfully";
?>

SELECT Data Dengan PHP:

<?php
$sql = "SELECT * FROM pelajar";
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
    while($row = mysqli_fetch_assoc($result)) {
        echo "ID: " . $row["id"] . " - Nama: " . $row["nama"] . "<br>";
    }
} else {
    echo "0 results";
}
?>

INSERT Data Dengan PHP:

<?php
$nama = "Fatimah";
$umur = 16;
$kelas = "5 Sains";
$email = "fatimah@email.com";

$sql = "INSERT INTO pelajar (nama, umur, kelas, email)
        VALUES ('$nama', $umur, '$kelas', '$email')";

if (mysqli_query($conn, $sql)) {
    echo "New record created successfully";
} else {
    echo "Error: " . mysqli_error($conn);
}
?>

Tutup Connection:

<?php
mysqli_close($conn);
?>

âš ī¸ Security: Contoh di atas untuk pembelajaran sahaja. Dalam production, gunakan Prepared Statements untuk elak SQL Injection!

✓ Best Practice: Sentiasa tutup database connection selepas selesai menggunakannya.