Bagi anda yang baru memulai belajar membuat database sql tentu akan sedikit kebingungan perihal tipe data. Pertanyaan yang muncul kurang lebih seperti berikut, Untuk nama tipe data yang digunakan apa.. Untuk menyimpan jenis kelamin, tanggal lahir di database MySQL di simpan dalam format apa.. Pertanyaan tersebut akan muncul saat belum terbiasa membuat database.
Artikel ini akan mencoba menjawab pertanyaan di atas melalui pengelompokan data berdasarkan type data yang tersedia di MySQL. Pengelompokkan ini akan meminimalisir kesalahan dalam menentukan tipe data yang cocok untuk data yang akan disimpan.
Sebagai contoh jika hendak menyimpan angka maka yang benar adalah membuat kolom dengan tipe Integer untuk menyimpan datanya di MySQL. Kesalahan terjadi saat membuat tipe data integer untuk menyimpan text. Integer identik dengan penyimpanan angka. Namun tidak semua data angka tepat jika disimpan dalam tipe integer.
Silahkan perhatikan macam pengelompokan tipe data di MySQL berikut agar dapat memilih tipe data yang benar saat membuat database.
1. Tipe Data Numerik dan Fungsinya
Numerik adalah semua hal yang berbentuk bilangan dan angka. Data numerik ini dapat berupa minus (-) , positif ataupun bilangan bulat dan pecahan. untuk menyimpan data dalam bentuk bilangan bulat negati ataupun positif dapat menggunakan int.
Contoh Tipe data untuk menyimpan bilangan Bulat
Type | Nilai Minimum (Signed) | Nilai Minimum (Unsigned) | Nilai Maksimum (Signed) | Nilai Maksimum (Unsigned) |
TINYINT | -128 | 0 | 127 | 255 |
SMALLINT | -32768 | 0 | 32767 | 65535 |
MEDIUMINT | -8388608 | 0 | 8388607 | 16777215 |
INT | -2147483648 | 0 | 2147483647 | 4294967295 |
BIGINT | -263 | 0 | 263-1 | 264-1 |
Dengan mengunakan tipe data TINYINT UNSIGNED maka nilai data maksimum yang dapat disimpan adalah 255. jika menyimpan data dengan nilai 256 maka akan ditemukan error saat menyimpan data ke MySQL.
secara garis besar tipe data int dalam sql berfungsi untuk menyimpan bilangan bulat.
Jenis Tipe data untuk menyimpan bilangan pecahan
Type | Size |
FLOAT | 4 byte |
DOUBLE | 8 byte |
DOUBLEPRECISION | 8 byte |
REAL | 8 byte |
DECIMAL (M,D) | M byte |
NUMERIC (M,D) | M byte |
Tabel tipe data di atas merupakan jenis tipe data sql yang memiliki fungsi untuk menyimpan data pecahan
2. Menyimpan Format Tanggal di SQL
Untuk menyimpan format tanggal dan jam sql menyediakan tipe data berikut:
Type Data | size | Keterangan |
TIME | 3 byte | Format hh:mm:ss[.nnnnnnn] Time memilik rentang dari 00:00:00.0000000 hingga 23:59:59.9999999 |
TIMESTAMP | 4 byte | Format YYYY-MM-DD HH:MI:SS yang merupakan Kombinasi tanggal dan jam, range ‘1970-01-01 00:00:00’ hingga ‘2037’ |
DATE | 3 Byte | Disimpan dalam format YYYY-MM-DD range tipe date dari 0001-01-01 hingga ‘9999-12-31’ |
DATETIME | 8 byte | Format YYYY-MM-DD HH:MI:SS merupakan Kombinasi tanggal dan jam, dengan jangkauan ‘1000-01-01 00:00:00’ hingga ‘9999-12-31 23:59:59’ |
YEAR | 1 byte | Format YYYY |
3. Tipe Data untuk Menyimpan Karakter dan Lainnya.
Type Data | Keterangan |
CHAR | Menyimpan data dalam bentuk string. Data disimpan dalam [M] jumlah. Nilai maksimum M 255 karakter. Ditulis dalam bentuk char(1), char(10) dst…. hingga char(255). |
VARCHAR | Sama dengan char perbedaanny varchar dapat menampung karakter hingga 65.535. |
TINYBLOB, TINYTEXT | Ukuran 255 byte. Mampu menampung karakter sampai 2^8-1 data. |
BLOB, TEXT | Ukuran 65535 byte. Type string yang mampu menangani data hingga 2^16-1 (16M-1) data. |
MEDIUMBLOB, MEDIUMTEXT | Ukuran 16777215 byte. Mampu menyimpan data hingga 2^24-1 (16M-1) data. |
LONGBLOB, LONGTEXT | Ukuran 4294967295 byte. Mampu menyimpan data hingga berukuran GIGA BYTE. Tipe data ini memiliki batas penyimpanan hingga 2^32-1 (4G-1) data. |
ENUM(‘nilai1’,’nilai2’,…,’nilaiN’) | Nilai enum Tergantung jumlah nilai enumerasinya (maks. 65535) |
SET(‘nilai1’,’nilai2’,…,’nilaiN’) | SET menyimpan data lebih dari satu pilihan, set hampir sama dengan enum, perbedaannya untuk sebuah kolom dengan tipe data SET dapat dimuat beberapa pilihan. Sedangkan enum hanya satu pilihan |
referensi: