Membuat dan Operasi CRUD pada Database MySQL

Database MySQL merupakan salah satu Relational Database Management System (RDBMS) yang paling banyak digunakan, setidaknya untuk proses belajar mahasiswa pada matakuliah sistem basis data. Tulisan kali ini akan membahas bagaimana membuat database, membuat tabel hingga melakukan operasi menambah data, menampilkan data, melakukan perubahan hingga menghapus data. Istilah ini familiar disebut CRUD (Create-Read-Update-Delete). Praktik membuat dan operasi CRUD pada artikel ini akan dilakukan pada aplikasi online dbfiddle.uk,

Membuat Database

Studi kasus yang digunakan ialah database kampus yang nantinya terdiri dari tabel mahasiswa, matakuliah, dan tabel krs. Jalankan perintah berikut untuk membuat database bernama kampus:

-- membuat database
CREATE DATABASE kampus;

Membuat Tabel

Seperti yang sudah disinggung sebelumnya, akan terdapat 3 (tiga) buah tabel yang akan dibuat di dalam database kampus, yaitu tabel mahasiswa untuk menampung data-data mahasiswa; tabel matakuliah untuk menampung data-data matakuliah; dan tabel krs (kartu rencana studi) digunakan untuk menampung data mahasiswa yang mengambil matakuliah.

Tabel Mahasiswa

Tabel mahasiswa terdiri dari 3 (tiga) kolom, yaitu nim, nama, dan jk (jenis kelamin). Kolom atau field yang dijadikan primary key adalah kolom nim.

-- membuat tabel mahasiswa
CREATE TABLE mahasiswa (
  nim VARCHAR(10) NOT NULL,
  nama VARCHAR(25) NOT NULL,
  jk ENUM('L', 'P') NOT NULL DEFAULT 'L',
  PRIMARY KEY(nim)
);

Selain membuatkan tabelnya, disini kita juga akan menambahkan beberapa sampel data mahasiswa. Perintah berikut digunakan untuk memasukkan beberapa data ke dalam tabel mahasiswa:

-- menambahkan beberapa data
INSERT INTO mahasiswa VALUES 
('1122334455', 'Adi Putra', 'L'),
('2233445566', 'Budi Santoso', 'L'),
('3344556677', 'Cindy Saputri', 'P'),
('4455667788', 'Dodi Koswara', 'L');

Tabel Matakuliah

Lakukan hal yang sama pada tabel matakuliah, yakni membuat tabel dan memasukkan beberapa sampel data ke dalam tabel matakuliah. Tabel ini terdiri dari 2 (dua) kolom/field saja yaitu kode, dan nama dimana field kode digunakan sebagai primary key.

-- membuat tabel matakuliah
CREATE TABLE matakuliah (
  kode VARCHAR(6) NOT NULL,
  nama VARCHAR(50) NOT NULL,
  PRIMARY KEY(kode)
);

Selanjutnya masukkan beberapa sampel data:

-- menambahkan beberapa sampel data matakuliah
INSERT INTO matakuliah VALUES
('IF1201', 'Sistem Basis Data'),
('IF1202', 'Pemrograman Web Dasar'),
('IF1203', 'Algoritma dan Pemrograman'),
('IF2101', 'Algoritma dan Pemrograman Lanjutan');

Tabel KRS

Tabel KRS ini hanya berisi 2 (dua) field saja, yakni field nim dan kode, dimana keduanya merupakan foreign key dari tabel mahasiswa dan tabel matakuliah. Kita dapat menjadikannya sebagai composite primary key. Selain itu kita juga akan tambahkan constraint ON DELETE cascade, dimana ketika data pada tabel mahasiswa atau tabel matakuliah dihapus, maka data pada tabel krs yang memiliki hubungan dengan salah satu atau kedua tabel di atas akan ikut terhapus.

-- membuat tabel krs
CREATE TABLE krs (
  nim VARCHAR(10) NOT NULL,
  kode VARCHAR(6) NOT NULL,
  FOREIGN KEY(nim) REFERENCES mahasiswa(nim) ON DELETE cascade,
  FOREIGN KEY(kode) REFERENCES matakuliah(kode) ON DELETE cascade,
  PRIMARY KEY(nim, kode)
);

Setelahnya, kita akan memasukkan beberapa sampel data ke dalam tabel krs ini. Untuk data-datanya sendiri harus sama dengan data nim dan data kode dari tabel mahasiswa ataupun tabel matakuliah.

-- memasukkan beberapa data
INSERT INTO krs VALUES
('1122334455', 'IF1201'),
('1122334455', 'IF1203'),
('2233445566', 'IF1201'),
('3344556677', 'IF1202'),
('4455667788', 'IF2101');

Menampikan data

Sampai tahapan ini kita telah berhasil membuat database kampus, membuat dan memasukkan beberapa data ke dalam tabel mahasiswa, matakuliah, dan tabel krs. Selanjutnya kita akan coba menampilkan data mahasiswa yang mengambil matakuliah menggunakan perintah JOIN.

-- menampilkan data mahasiswa yang mengambil matakuliah
SELECT 
  mhs.nim, mhs.nama, if(jk='L', 'Laki-laki', 'Perempuan') as kelamin,
  matkul.nama as matakuliah,
  substr(matkul.kode, 3, 1) as semester
FROM
  mahasiswa mhs
JOIN
  krs ON mhs.nim = krs.nim
JOIN
  matakuliah matkul ON krs.kode = matkul.kode
ORDER BY nim;

Output dari query di atas dapat dilihat seperti pada gambar berikut:

Mengubah Data

Selanjutnya kita akan coba untuk mengubah nama di salah satu data pada tabel mahasiswa. Data Budi Santoso kita ganti menjadi Budi Waseso berdasarkan NIM-nya ‘2233445566’ dengan menggunakan perintah:

-- ubah data mahasiswa
UPDATE mahasiswa
SET nama = 'Budi Waseso'
WHERE nim = '2233445566';

Setelah perintah di atas dijalankan, kemudian jalankan perintah ini lagi untuk melihat hasil perubahannya:

-- menampilkan data mahasiswa yang mengambil matakuliah
SELECT 
  mhs.nim, mhs.nama, if(jk='L', 'Laki-laki', 'Perempuan') as kelamin,
  matkul.nama as matakuliah,
  substr(matkul.kode, 3, 1) as semester
FROM
  mahasiswa mhs
JOIN
  krs ON mhs.nim = krs.nim
JOIN
  matakuliah matkul ON krs.kode = matkul.kode
ORDER BY nim;

Menghapus Data

Terakhir kita akan coba untuk menghapus salah satu data mahasiswa yang bernama Adi Putra dari dalam tabel mahasiswa, dengan menggunakan perintah:

DELETE FROM mahasiswa
WHERE nim = '1122334455';

Karena data mahasiswa bernama Adi Putra telah dihapus, maka seharusnya data pada tabel KRS dengan nim ‘1122334455’ juga telah hilang. Untuk membuktikannya jalankan kembali perintah berikut:

-- menampilkan data mahasiswa yang mengambil matakuliah
SELECT 
  mhs.nim, mhs.nama, if(jk='L', 'Laki-laki', 'Perempuan') as kelamin,
  matkul.nama as matakuliah,
  substr(matkul.kode, 3, 1) as semester
FROM
  mahasiswa mhs
JOIN
  krs ON mhs.nim = krs.nim
JOIN
  matakuliah matkul ON krs.kode = matkul.kode
ORDER BY nim;

Demikianlah tahapan-tahapan dalam membuat dan melakukan operasi CRUD pada database MySQL yang diimplementasikan untuk pengolahan data mahasiswa, matakuliah, dan krs. Setiap langkah-langkah yang saya buat dapat diakses pada tautan berikut. Semoga bermanfaat!

Scroll to Top