Tipe data menentukan data apa yang bisa disimpan, berapa banyak ruang yang dipakai, dan query mana yang bisa berjalan cepat. Section ini membedah setiap keluarga tipe data di MySQL 8.4 lalu memberikan kerangka pengambilan keputusan supaya kita tidak memilih tipe secara asal.

# INTEGER

Pelajari lima ukuran tipe INTEGER di MySQL — TINYINT hingga BIGINT — beserta rentang nilainya, perilaku galat out-of-range pada strict mode, mitos INT(11), dan penggunaan UNSIGNED.

Buka →
# DECIMAL dan Floating POINT

Pelajari DECIMAL(M,D) untuk angka pecahan yang persis seperti harga dan uang, bandingkan dengan FLOAT/DOUBLE yang menyimpan nilai biner perkiraan, dan pahami kapan masing-masing wajib dipakai.

Buka →
# STRING

Pelajari perbedaan CHAR dan VARCHAR, keluarga TEXT untuk teks panjang, ENUM untuk daftar nilai tetap, serta perilaku spasi belakang yang sering menjebak pemula.

Buka →
# DATE dan TIME

Pelajari tipe tanggal dan waktu di MySQL — DATE, TIME, DATETIME, TIMESTAMP, dan YEAR — format literal ISO, operasi DATEDIFF dan DATE_ADD, serta perbedaan mendasar DATETIME vs TIMESTAMP dan jebakan tahun 2038.

Buka →
# BOOLEAN dan Nilai Logika

Pelajari tipe BOOLEAN di MySQL yang sebenarnya alias TINYINT(1), makna TRUE dan FALSE sebagai angka 1 dan 0, kebenaran nilai selain nol, serta trik penyimpanan data ya/tidak.

Buka →
# JSON

Pelajari tipe JSON di MySQL 8.4: validasi otomatis saat INSERT, pemeriksaan JSON_VALID dan JSON_TYPE, pembacaan nilai dengan JSON_EXTRACT, serta fakta bahwa JSON disimpan dalam format biner internal.

Buka →
# BINARY Data

Pelajari tipe data biner MySQL — BINARY, VARBINARY, dan keluarga BLOB — perilaku padding byte nol, fungsi HEX dan UNHEX untuk membaca byte, serta contoh menyimpan hash dan token.

Buka →
# Memilih Tipe Data

Rangkum seluruh section menjadi kerangka keputusan: matriks kasus nyata ke tipe data yang tepat, aturan praktis yang teruji, dan satu contoh skema toko kecil lengkap dari CREATE TABLE sampai query JOIN.

Buka →
# SIGNED dan UNSIGNED

Pelajari atribut SIGNED dan UNSIGNED pada tipe integer MySQL: perbedaan rentangnya, cara membacanya di DESC, galat ERROR 1690 pada pengurangan kolom UNSIGNED, dan kesalahan umum saat migrasi data.

Buka →