Selain tipe data standar seperti tipe data Numerik, String dan Date. MySQL juga menyediakan tipe data khusus yang merupakan kumpulan data yang akan kita definisikan tersendiri. Tipe data bentukan ini terdiri dari tipe data ENUM dan SET. Nah pada artikel kali ini kita akan bahas tentang Tipe Data Enum dan Set.
Tipe Data Enum
Tipe data enum merupakan tipe data yang khusus untuk kolom dimana nilai datanya sudah kita tentukan sebelumnya. Pilihan ini dapat berisi 1 sampai dengan 65,535 pilihan string. Dimana kolom yang didefinisikan sebagai enum hanya dapat memilih satu diantara pilihan string yang tersedia.
Contoh dari penggunaan enum adalah jenis kelamin, dimana telah kita ketahui bahwa jenis kelamin hanya ada 2 yaitu laki-laki dan perempuan secara umum. Maka dari itu kita dapat membuat data enum yang berisi laki-laki dan perempuan. Pilihan ini harus tersedia sebelumnya, dan kita dapat menggunakan tipe data enum ini untuk memastikan bahwa jenis kelamin yang dipilih adalah jenis kelamin yang telah ditentukan sebelumnya yaitu laki-laki dan perempuan dan hanya bisa memilih satu jenis kelamin saja.
Cara Membuat Tabel Dengan Tipe Data Enum
Pada query diatas, kita mendefinisikan kolom jk pada tabel jenis_kelamin dengan tipe data enum yang dapat dipilih dari pilihan yang tersedia, yaitu laki-laki dan perempuan. Ketika kita mencoba menginput data baru, seperti dewasa maka MySQL akan mengeluarkan error, karena pilihan ini memang tidak kita definisikan sebelumnya.
Tipe Data SET dalam MySQL
Tipe data SET ini merupakan tipe data yang nilai yang dipilihnya bukan hanya satu. Berbeda halnya dengan tipe data enum yang dimana pilihan yang tersedia untuk kolom hanya dapat dipilih 1 data, namun untuk kolom SET ini kita dapat memilih satu atau lebih nilai yang tersedia dari 1 sampai dengan 64 pilihan string yang tersedia.
Contoh penggunaan tipe data SET ini adalah untuk data tentang hobby seseorang, karena bisa saja seorang memiliki hobby yang lebih dari 1, namun kita ingin memilih dari kumpulan list yang telah kita buat sebelumnya.
Cara Membuat Tabel Dengan Tipe Data SET
Dari query diatas, dapat kita lihat bahwa untuk menginput lebih dari satu nilai, kita memisahkannya dengan tanda koma dan tetap berada dalam satu tanda kutip, juga seandainya kita coba untuk menginputkan hobby belajar pada tabel contoh_set tersebut yang memang belajar ini tidak ada sebelumnya, maka MySQL akan mengeluarkan pesan error.
Jadi, dapat kita lihat bahwa perbedaan dari tipe data ENUM dan SET ini terletak pada jumlah data yang dipilih, dimana pada tipe data ENUM hanya bisa memilih satu pilihan saja, sedangkan tipe dan SET bisa memilih lebih dari satu pilihan.