Mengenal Tipe data SET dalam DataBase MySQL


Tipe data di MySQL sangat banyak sekali, salah satunya tipe data ENUM. Tipe data ENUM merupakan tipe data yang telah di tentukan sebelumnya kolom yang ingin di isi. Data yang tidak sesuai dengan pilihan maka tidak dapat tersimpan di database MySQL.

Salah satu contoh tipe data ENUM yaitu jenis kelamin, dimana telah kita ketahui bahwa jenis kelamin hanya ada 2 yaitu Laki-laki dan peremuan secara umum. Maka dari Itu kita dapat membuat data ENUM yang berisi laki-laki dan perempuan.

Sedangkan tipe data SET merupakan tipe data yang nilai nya yang di piliha bukan hanya satu, misalnya sebuah jurusan. Jadi tipe data SET dapat digunakan pilihan yang lebih dari satu, contohnya dalam kasus KRS mahasiswa, seorang mahasiswa dapat melakukan KRS lebih dari satu mata kuliah.

Berbeda dengan tipe data ENUM dimana pilihan yang tersedia untuk kolom hanya dapat 1 data, untuk kolom SET kita dapat memilih satu atau lebih nilai yang tersedia dari 1 sampai 64 pilihan string yang tersedia.
Contoh penggunaan tipe data SET adalah untuk data tentang hobby seseorang, karena bisa aja seseorang memiliki hobi yang lebih dari 1, namun kita ingin memilih dari kumpulan list yang telah kita buat sebelumnya.
Contoh query tipe data SET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
mysql> CREATE TABLE hobi (hob SET('Membaca','Menulis','Menggambar','Main Musik'));
Query OK, 0 rows affected (0.05 sec)
mysql> DESCRIBE hobi;
+-------+----------------------------------------------------+------+-----+---------+-------+
| Field | Type                                               | Null | Key | Default | Extra |
+-------+----------------------------------------------------+------+-----+---------+-------+
| hob   | set('Membaca','Menulis','Menggambar','Main Musik') | YES  |     | NULL    |       |
+-------+----------------------------------------------------+------+-----+---------+-------+
1 row in set (0.01 sec)
mysql> INSERT INTO hobi VALUES ('Membaca');
Query OK, 1 row affected (0.05 sec)
mysql> INSERT INTO hobi VALUES ('Membaca,Main Musik');
Query OK, 1 row affected (0.07 sec)
mysql> INSERT INTO hobi VALUES ('Menggambar,Main Musik');
Query OK, 1 row affected (0.04 sec)
mysql> INSERT INTO hobi VALUES ('Belajar,Main Musik');
ERROR 1265 (01000): Data truncated for column 'hob' at row 1
mysql> SELECT * FROM hobi;
+-----------------------+
| hob                   |
+-----------------------+
| Membaca               |
| Membaca,Main Musik    |
| Menggambar,Main Musik |
+-----------------------+
3 rows in set (0.00 sec)
Dari query diatas, dapat kita lihat bahwa untuk menginput lebih dari 1 nilai, kita memisahkan dengan tanda koma dan tetap dalam tanda kutip, juga seandainya kita coba input hobi ‘belajar’, yang memang tidak ada sebelumnya, maka MySQL akan mengeluarkan pesan error.

Tipe data enum dan set adalah tipe data khusus dalam MySQL dan digunakan untuk menyeleksi input ke database agar sesuai dengan data yang tersedia.

0 Comments