Jika pada tutorial sebelumnya kita membahas tentang tipe-tipe tabel pada mysql, kali ini kita akan membahas tipe-tipe field kolom mysql, tipe field atau kolom mysql sama halnya dengan tipe data pada dunia pemrograman. Maksud dari pemberian nama-nama tipe data pada mysql memungkinkan setiap data lebih terorganisir dan terstruktur agar “dipaksa” untuk patuh terhadap aturan, namun selain itu masing-masing tipe field atau kolom pada database mysql memiliki sistem memori yang masing-masing tentu berbeda, semua pembeda itu diciptakan untuk kebaikan.
MySQL sendiri memiliki cukup banyak tipe data atau field atau kolom, setiap tipe-tipe field atau kolom mysql ini menentukan besar kecilnya sebuah ukuran tabel. Ada beberapa tipe-tipe field atau kolom pada mysql, seperti numeric, string, datetime/date/time, dan kelompok himpunan (set dan enum). Dimana masing-masing tipe data ini memiliki besaran dan ukuran sebuah tipe data field atau kolom pada mysql.
Berikut ini adalah penjelasan masing-masing dari tipe data atau tipe field atau kolom pada mysql, masing-masing dijelaskan secara terperinci sesuai kelompoknya.
Tipe Data Numeric
Tipe data numeric digunakan untuk menyimpan data numeric (angka). Ciri utama tipe data numeric adalah suatu data yang memungkinkan untuk digunakan sebagai operasi matematika seperti pertambahan, pengurangan, pembagian dan perkalian.
Nama | Penggunaan | Jangkauan | Ukuran |
---|---|---|---|
TINYINT | Digunakan untuk menyimpan data bilangan bulat positif dan negatif. | -128 s/d 127 | 1 byte (8 bit) |
SMALLINT | Digunakan untuk menyimpan data bilangan bulat positif. | -32.768 s/d 32.767 | 2 byte (16 bit) |
MEDIUMINT | Digunakan untuk menyimpan data bilangan bulat positif dan negatif. | -8.388.608 s/d 8.388.607 | 3 byte (24 bit) |
INT | Digunakan untuk menyimpan data bilangan bulat positif dan negatif. | -2.147.483.648 s/d 2.147.483.647 | 4 byte (32 bit) |
BIGINT | Digunakan untuk menyimpan data bilangan bulat positif dan negatif. | ± 9,22 x 1018 | 8 byte (64 bit) |
FLOAT | Digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal. | -3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38 | 4 byte (32 bit) |
DOUBLE | Digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda. | -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308 | 8 byte (64 bit) |
REAL | Merupakan sinonim dari DOUBLE. | ||
DECIMAL | Digunakan untuk menyimpan data bilangan pecahan positif dan negatif. | -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308 | 8 byte (64 bit) |
NUMERIC | Merupakan sinonim dari DECIMAL. |
Tipe Data String
Tipe data string digunakan untuk menyimpan tipe data string atau text (teks). Biasanya tipe data ini digunakan untuk menyimpan berbagai informasi berupa teks singkat atau isi suatu artikel, dan lain-lain.
Nama | Penggunaan | Jangkauan |
---|---|---|
CHAR | Digunakan untuk menyimpan data string ukuran tetap. | 0 s/d 255 karakter |
VARCHAR | Digunakan untuk menyimpan data string ukuran dinamis. | 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3) |
TINYTEXT | Digunakan untuk menyimpan data text. | 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3) |
TEXT | Digunakan untuk menyimpan data text. | 0 s/d 65.535 (216 – 1) karakter |
MEDIUMTEXT | Digunakan untuk menyimpan data text. | 0 s/d 224 – 1 karakter |
LONGTEXT | Digunakan untuk menyimpan data text. | 0 s/d 232 – 1 karakter |
Tipe Date dan Time
Seperti namanya, tipe data date dan time ini biasanya untuk menampung data tanggal dan waktu, ada beberapa tipe data date dan time, sebagai berikut ini:
Nama | Penggunaan | Jangkauan | Ukuran |
---|---|---|---|
DATE | Digunakan untuk menyimpan data tanggal. | 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD) | 3 byte |
TIME | Digunakan untuk menyimpan data waktu. | -838:59:59 s/d +838:59:59 (HH:MM:SS) | 3 byte |
DATETIME | Digunakan untuk menyimpan data tanggal dan waktu. | 1000-01-01 00:00:00′ s/d ‘9999-12-31 23:59:59 | 8 byte |
YEAR | Digunakan untuk menyimpan data tahun dari tanggal. | 1900 s/d 2155 | 1 byte |
Tipe Data Blob (Biner)
Tipe data blob dapat menyimpan data biner, biasanya digunakan untuk menampung kode-kode biner atau object dari suatu file.
Nama | Penggunaan | Jangkauan |
---|---|---|
BIT | Digunakan untuk menyimpan data biner. | 64 digit biner |
TINYBLOB | Digunakan untuk menyimpan data biner. | 255 byte |
BLOB | Digunakan untuk menyimpan data biner. | 216 – 1 byte |
MEDIUMBLOB | Digunakan untuk menyimpan data biner. | 224 – 1 byte |
LONGBLOB | Digunakan untuk menyimpan data biner. | 232 – 1 byte |
Tipe Data Lainnya
Selain tipe data diatas, MySQL memiliki tipe data yang lainnya yang mungkin tipe data ini akan terus bertambah seiring perkembangannya.
Nama | Penggunaan | Jangkauan |
---|---|---|
ENUM | Enumerasi (kumpulan data). | Sampai dengan 65535 string. |
SET | Combination (himpunan data). | Sampai dengan 255 string anggotas. |
Dari tipe-tipe diatas dalam hal penggunaan seharusnya digunakan sesuai dengan kebutuhan dan kesesuaian data yang dipakai dan ingat setiap nilai ukuran yang diberikan pada field atau kolom mysql maka akan menambah beban memori, maka dalam hal ini tipe field mysql harus benar-benar sesuai dengan kriteria data yang ingin dimasukan.
TIPS:
Untuk data yang dengan awalan angka “0” (tanpa tanda kutip) maka baiknya tidak menggunakan tipe data INT, karena biasanya akan hilang jika menggunakan tipe data INTEGER. Maka silahkan gunakan tipe string misalnya seperti varchar, data dengan awalan angka “0” biasanya digunakan untuk input nomor handphone.