Cara Menggunakan ENUM di Mysql

Cara Menggunakan ENUM di Mysql
Konten Halaman

Jika anda mencari cara untuk menyimpan data yang terbatas pada nilai yang sudah ditentukan, ENUM mungkin bisa menjadi solusi.

ENUM adalah tipe data khusus di MySQL yang memungkinkan kita untuk membatasi nilai-nilai yang diterima oleh suatu kolom di dalam tabel database. Dalam artikel ini, kita akan membahas tentang cara menggunakan ENUM di MySQL.

Apa itu ENUM?

ENUM adalah singkatan dari Enumeration, yaitu tipe data khusus di MySQL yang memungkinkan kita untuk membatasi nilai-nilai yang dapat disimpan di suatu kolom. ENUM hanya dapat menerima nilai-nilai tertentu dan menolak nilai-nilai lain yang tidak termasuk dalam daftar nilai yang ditentukan.

Misalnya, jika kita ingin menyimpan jenis kelamin, kita bisa membuat kolom dengan tipe ENUM dan daftar nilai “laki-laki” dan “perempuan”. Ini akan memastikan bahwa kolom tersebut hanya dapat berisi nilai “laki-laki” atau “perempuan” dan tidak menerima nilai lain.

Cara Membuat Kolom ENUM

Untuk membuat kolom dengan tipe ENUM, kita harus menentukan daftar nilai yang akan diterima oleh kolom tersebut. Berikut adalah sintaks untuk membuat kolom dengan tipe ENUM:

CREATE TABLE nama_tabel (
  nama_kolom ENUM('nilai1', 'nilai2', 'nilai3', ...) NOT NULL
);

Perhatikan bahwa kita harus menentukan daftar nilai di dalam tanda kutip dan dipisahkan dengan koma. Jika kita ingin menambahkan nilai baru ke dalam ENUM, kita bisa menambahkannya ke dalam daftar nilai di dalam pernyataan ALTER TABLE.

Contoh Penggunaan ENUM

Mari kita lihat contoh penggunaan ENUM untuk menyimpan jenis kelamin.

CREATE TABLE pengguna (
  id INT(11) NOT NULL AUTO_INCREMENT,
  nama VARCHAR(50) NOT NULL,
  jenis_kelamin ENUM('laki-laki', 'perempuan') NOT NULL,
  PRIMARY KEY (id)
);

Di dalam tabel pengguna, kita membuat kolom jenis_kelamin dengan tipe ENUM dan daftar nilai “laki-laki” dan “perempuan”. Kolom ini akan membatasi nilai yang dapat disimpan di dalamnya hanya menjadi “laki-laki” atau “perempuan”.

Kita bisa memasukkan data ke dalam tabel pengguna seperti berikut:

INSERT INTO pengguna (nama, jenis_kelamin) VALUES ('Joko', 'laki-laki');
INSERT INTO pengguna (nama, jenis_kelamin) VALUES ('Siti', 'perempuan');

Kedua pernyataan SQL di atas akan berhasil karena nilai yang dimasukkan ke dalam kolom jenis_kelamin sesuai dengan daftar nilai yang ditentukan.

Namun, jika kita mencoba memasukkan nilai yang tidak termasuk dalam daftar nilai, misalnya “wanita”, maka pernyataan SQL akan gagal:

INSERT INTO pengguna (nama, jenis_kelamin) VALUES ('Lia', 'wanita');

Keuntungan Menggunakan ENUM

Menggunakan ENUM memiliki beberapa keuntungan:

  • Membatasi nilai yang dapat disimpan. Dengan ENUM, kita bisa memastikan bahwa nilai yang disimpan di dalam kolom hanya terbatas pada nilai yang sudah ditentukan. Hal ini dapat mem mudahkan validasi data dan meminimalkan kesalahan input.

  • Menghemat ruang penyimpanan. ENUM menggunakan ruang penyimpanan yang lebih kecil dibandingkan dengan tipe data lain seperti VARCHAR. Hal ini karena ENUM hanya menyimpan daftar nilai yang sudah ditentukan, sedangkan VARCHAR harus menyimpan seluruh nilai yang dimasukkan.

  • Mempercepat pencarian data. Karena ENUM hanya memiliki nilai yang terbatas, MySQL dapat mengoptimalkan pencarian data di dalam tabel dengan tipe data ENUM. Hal ini dapat meningkatkan kinerja database.

Keterbatasan ENUM

Meskipun ENUM memiliki beberapa keuntungan, ada beberapa keterbatasan yang perlu diperhatikan:

  • Sulit untuk ditambahkan nilai baru. Jika kita ingin menambahkan nilai baru ke dalam ENUM, kita harus menggunakan pernyataan ALTER TABLE, yang dapat menyebabkan masalah ketika database sudah digunakan oleh aplikasi.

  • Tidak cocok untuk nilai yang berubah-ubah. Jika daftar nilai yang diterima oleh kolom sering berubah, ENUM mungkin tidak cocok karena kita harus selalu menggunakan pernyataan ALTER TABLE untuk menambah atau menghapus nilai.

  • Sulit untuk dipahami. Daftar nilai yang ditentukan di dalam ENUM dapat membuat kode SQL menjadi sulit untuk dipahami dan dipelihara.

Kesimpulan

Dalam artikel ini, kita telah membahas tentang cara menggunakan ENUM di MySQL. ENUM adalah tipe data khusus yang memungkinkan kita untuk membatasi nilai-nilai yang dapat disimpan di suatu kolom. Kita juga telah melihat keuntungan dan keterbatasan dari penggunaan ENUM di MySQL.

Jika kita ingin menggunakan ENUM, pastikan untuk mempertimbangkan keuntungan dan keterbatasannya terlebih dahulu. Jika nilai yang diterima oleh kolom sering berubah atau sulit diprediksi, ENUM mungkin bukanlah pilihan terbaik.

Namun, jika kita ingin membatasi nilai-nilai yang dapat disimpan di dalam kolom, ENUM dapat menjadi solusi yang baik. Dengan ENUM, kita bisa memastikan bahwa nilai yang disimpan di dalam kolom hanya terbatas pada nilai yang sudah ditentukan, memudahkan validasi data dan meminimalkan kesalahan input.