Tipe data digunakan untuk mendefinisikan suatu field atau kolom. Setiap kolom yang dibuat harus didefinisikan terlebih dahulu. Jenis – jenis tipe data ada bermacam – macam. Bisa numerik yang digunakan untuk angka dan proses perhitungan, bisa karakter / teks, tanggal atau Biner. Berikut ini Macam – macam tipe data yang digunakan di SQL :
1. Tipe Numerik
Tipe data numerik digunakan untuk menyimpan data numeric (angka). Ciri utama data numeric adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe numerik:
- TINYINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit)
Jangkauan : -128 s/d 127
Ukuran : 1 byte (8 bit)
- SMALLINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif..
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
Jangkauan : -32.768 s/d 32.767
Ukuran : 2 byte (16 bit).
- MEDIUMINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit)
Jangkauan : -8.388.608 s/d 8.388.607
Ukuran : 3 byte (24 bit)
- INT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit).
Jangkauan : -2.147.483.648 s/d 2.147.483.647
Ukuran : 4 byte (32 bit).
- BIGINT
Penggunaan : digunakan untuk menyimpan data bilangan bulat positif dan negatif.
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit)
Jangkauan : ± 9,22 x 1018
Ukuran : 8 byte (64 bit)
- FLOAT
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi tunggal.
Jangkauan : 3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
Jangkauan : 3.402823466E+38 s/d -1.175494351E-38, 0, dan 1.175494351E-38 s/d 3.402823466E+38.
Ukuran : 4 byte (32 bit).
- DOUBLE / REAL
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif presisi ganda.
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit).
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit).
- DECIMAL / NUMERIC
Penggunaan : digunakan untuk menyimpan data bilangan pecahan positif dan negatif.
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit).
Jangkauan : -1.79…E+308 s/d -2.22…E-308, 0, dan 2.22…E-308 s/d 1.79…E+308.
Ukuran : 8 byte (64 bit).
2. Tipe Date dan Time
Tipe data date dan time digunakan untuk menyimpan data tanggal dan waktu. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe date dan time:
- DATE
Penggunaan : digunakan untuk menyimpan data tanggal.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)Ukuran : 3 byte.
Jangkauan : 1000-01-01 s/d 9999-12-31 (YYYY-MM-DD)Ukuran : 3 byte.
- TIME
Penggunaan : digunakan untuk menyimpan data waktu.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)Ukuran : 3 byte.
Jangkauan : -838:59:59 s/d +838:59:59 (HH:MM:SS)Ukuran : 3 byte.
- DATETIME
Penggunaan : digunakan untuk menyimpan data tanggal dan waktu.
Jangkauan : ‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’Ukuran : 8 byte.
Jangkauan : ‘1000-01-01 00:00:00’ s/d ‘9999-12-31 23:59:59’Ukuran : 8 byte.
- YEAR
Penggunaan : digunakan untuk menyimpan data tahun dari tanggal.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
Jangkauan : 1900 s/d 2155
Ukuran : 1 byte.
3. Tipe String (Text)
Tipe data string digunakan untuk menyimpan data string (text). Ciri utama data string adalah suatu data yang memungkinkan untuk dikenai operasi aritmatika seperti pertambahan, pengurangan, perkalian dan pembagian. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe string:
- CHAR
Penggunaan : digunakan untuk menyimpan data string ukuran tetap.
Jangkauan : 0 s/d 255 karakter
Jangkauan : 0 s/d 255 karakter
- VARCHAR
Penggunaan : digunakan untuk menyimpan data string ukuran dinamis.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
- TINYTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
Jangkauan : 0 s/d 255 karakter (versi 4.1), 0 s/d 65.535 (versi 5.0.3)
- TEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 65.535 (216 – 1) karakter
Jangkauan : 0 s/d 65.535 (216 – 1) karakter
- MEDIUMTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 224 – 1 karakter
Jangkauan : 0 s/d 224 – 1 karakter
- LONGTEXT
Penggunaan : digunakan untuk menyimpan data text.
Jangkauan : 0 s/d 232 – 1 karakter
Jangkauan : 0 s/d 232 – 1 karakter
4.Tipe BLOB (Biner)
Tipe data blob digunakan untuk menyimpan data biner. Tipe ini biasanya digunakan untuk menyimpan kode-kode biner dari suatu file atau object. BLOB merupakan singkatan dari Binary Large Object. Berikut ini tipe field (kolom) di MySQL yang termasuk ke dalam kelompok tipe blob:
- BIT (sejak versi 5.0.3)
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 64 digit biner
Jangkauan : 64 digit biner
- TINYBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 255 byte
Jangkauan : 255 byte
- BLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 216 – 1 byte
Jangkauan : 216 – 1 byte
- MEDIUMBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 224 – 1 byte
Jangkauan : 224 – 1 byte
- LONGBLOB
Penggunaan : digunakan untuk menyimpan data biner.
Jangkauan : 232 – 1 byte
Jangkauan : 232 – 1 byte
5. Tipe Data yang Lain
Selain tipe data di atas, MySQL juga menyediakan tipe data yang lain. Tipe data di MySQL mungkin akan terus bertambah seiring dengan perkembangan versi MySQL. Berikut ini beberapa tipe data tambahan MySQL:
- ENUM
Penggunaan : Enumerasi (kumpulan data).
Jangkauan : Sampai dengan 65535 string.
Jangkauan : Sampai dengan 65535 string.
- SET
Pengunaan : Combination (himpunan data).
Jangkauan : Sampai dengan 255 string anggotas
Jangkauan : Sampai dengan 255 string anggotas