Saturday, November 15, 2014

Mengenal Tipe Data Pada Database MySQL


Database MySQL menyediakan banyak tipe data untuk digunakan pada saat membuat tabel pada database. Tipe data tersebut berkaitan dengan data yang akan kita simpan didalam tabel pada database. Secara garis besar, tipe data yang sering dipakai adalah tipe angka (INTEGER), teks (VARCHAR, TEXT) dan waktu (DATE, DATETIME, TIMESTAMP).

Menentukan tipe data yang tepat nantinya akan memudahkan dalam pengaturan tabel, seperti penggunaan tipe data DATE akan otomatis membuat format standar DATE misalnya '2014-11-13'. Tipe data sebaiknya ditentukan pada saat membuat tabel, karena jika diubah saat sudah ada isinya dikhawatirkan akan mengacaukan isi tabel yang berakibat pada kehilangan data.

Berikut ini beberapa tipe data yang didukung oleh database MySQL :

1. Tipe Angka

Tipe Data Keterangan
TINYINT(size) Normal = -128 s/d 127, Unsigned = 0 s/d 255. Maksimal digit angka ditentukan pada parameter size didalam kurung.
SMALLINT(size) Normal = -32768 s/d 32767, Unsigned = 0 s/d 65535. Maksimal digit angka ditentukan pada parameter size didalam kurung.
MEDIUMINT(size) Normal = -8388608 s/d 8388607, Unsigned =0 s/d 16777215. Maksimal digit angka ditentukan pada parameter size didalam kurung.
INT(size) Normal  = -2147483648 s/d 2147483647, Unsigned = 0 s/d 4294967295. Maksimal digit angka ditentukan pada parameter size didalam kurung.
BIGINT(size) Normal = -9223372036854775808 s/d 9223372036854775807, Unsigned = 0 s/d 18446744073709551615. Maksimal digit angka ditentukan pada parameter size didalam kurung.
FLOAT(size,d) Angka kecil dengan desimal. Maksimal digit angka ditentukan pada paramater size dan maksimal digit desimal ditentukan pada parameter d.
DOUBLE(size,d) Angka besar dengan desimal. Maksimal digit angka ditentukan pada paramater size dan maksimal digit desimal ditentukan pada parameter d.
DECIMAL(size,d) Tipe DOUBLE yang disimpan sebagai string, memungkinkan untuk poin desimal tetap. Maksimal digit angka ditentukan pada paramater size dan maksimal digit desimal ditentukan pada parameter d.
Note : Tipe integer memiliki opsi tambahan berupa Unsigned. Secara normal integer memiliki nilai negatif dan  nilai positif. Dengan menambahkan opsi Unsigned berarti tidak memiliki nilai negatif dan range nilai dimulai dari nol sehingga lebih besar.

2. Tipe String

Tipe Data Keterangan
CHAR(size) - Menangani tipe data string tetap/fixed (bisa berisi huruf, angka dan special karakter).
- Panjang string ditentukan dengan nilai parameter size didalam kurung.
- Kelebihan karakter akan dipotong sesuai panjang yang telah ditentukan.
- Dapat menyimpan sampai maksimal 255 karakter.
VARCHAR(size) - Menangani tipe data string variabel (bisa berisi huruf, angka dan special karakter).
- Panjang string ditentukan dengan nilai parameter size didalam kurung.
- Kelebihan karakter akan dipotong sesuai panjang yang telah ditentukan.
- Dapat menyimpan sampai maksimal 255 karakter.
- Jika dimasukkan nilai yang lebih dari 255 akan otomatis di konvert ke tipe TEXT
TINYTEXT Menangani tipe data string dengan panjang maksimal 255 karakter.
TEXT Menangani tipe data string dengan panjang maksimal 65.535 karakter.
BLOB Untuk BLOBs (Binary Large OBjects), mampu menangani sampai 65,535 bytes data
MEDIUMTEXT Menangani tipe data string dengan panjang maksimal 16,777,215 karakter
MEDIUMBLOB Untuk BLOBs (Binary Large OBjects). mampu menangani sampai 16,777,215 bytes data
LONGTEXT Menangani tipe data string dengan panjang maksimal 4,294,967,295 karakter
LONGBLOB Untuk BLOBs (Binary Large OBjects). mampu menangani sampai 4,294,967,295 bytes data
ENUM(x,y,z,etc.) Mengijinkan kita memasukkan beberapa nilai yang mungkin didalam sebuah daftar. Kita bisa membuat hingga 65535 nilai dalam daftar ENUM. Jika nilai yang dimasukkan yang tidak ada dalam daftar, maka nilai kosong akan disisipkan.
Catatan: Nilai-nilai diurutkan berdasarkan urutan saat kita memasukkan mereka.
Kita bisa memasukkan kemungkinan nilai dalam format ini: ENUM ('X', 'Y', 'Z')
SET Mirip dengan ENUM, namun SET bisa berisi hingga 64 daftar item dan dapat menyimpan lebih dari satu pilihan.

3. Tipe Waktu

Tipe Data Keterangan
DATE() - Sebuah tanggal.
- Format: YYYY-MM-DD
Note: Range yang disupport adalah dari '1000-01-01' sampai '9999-12-31'
DATETIME() - Sebuah kombinasi tanggal dan waktu.
- *Format: YYYY-MM-DD HH:MI:SS
Note: Range yang disupport adalah dari '1000-01-01 00:00:00' sampai '9999-12-31 23:59:59'
TIMESTAMP() - Sebuah Timestamp
- Nilai TIMESTAMP disimpan sebagai detik angka sejak masa Unix ('1970-01-01 00:00:00' UTC).
- *Format: YYYY-MM-DD HH:MI:SS
Note: Range yang disupport adalah dari '1970-01-01 00:00:01' UTC sampai '2038-01-09 03:14:07' UTC
TIME() - Sebuah waktu
- Format: HH:MI:SS
Note: Range yang disupport adalah dari '-838:59:59' sampai '838:59:59'
YEAR() - Sebuah tahun dengan format dua digit atau empat digit.
Note: Nilai yang diijinkan untuk format 4 digit adalah 1901 to 2155.
Nilai yang diijinkan pada format 2 digit adalah 70 to 69, merupakan representasi dari tahun 1970 sampai 2069
Note : Meskipun DATETIME dan TIMESTAMP mempunyai format yang sama, namun dalam aplikasi mereka sangat berbeda. Pada saat INSERT atau UPDATE query, TIMESTAMP secara otomatis mengeset ke waktu sekarang. TIMESTAMP juga mengiijinkan berbagai macam format seperti YYYYMMDDHHMISS, YYMMDDHHMISS, YYYYMMDD, atau YYMMDD.

Referensi :

0 komentar

Post a Comment