Tipe Data MySQL: Memilih Wadah yang Tepat untuk Setiap Data

Mengenal tipe data utama MySQL (angka, desimal, teks, tanggal, boolean, enum), cara memilih yang paling cocok, dan kesalahan umum seperti menyimpan uang sebagai FLOAT.

Part 5 dari 38 ± 40 menit Gratis

Kenapa tipe data penting?

Setiap kolom harus punya tipe, yaitu jenis isi yang boleh disimpan. Tipe yang tepat membuat data lebih hemat tempat, lebih cepat dicari, dan lebih aman (kamu tidak bisa menyimpan huruf di kolom umur). Anggap tipe data seperti wadah: gelas untuk air, kotak untuk sepatu — pilih sesuai isinya.

1. Bilangan bulat

TipeRentang (bertanda)Cocok untuk
TINYINT-128 s.d. 127Status kecil, flag 0/1
SMALLINT-32.768 s.d. 32.767Tahun, jumlah kecil
INT±2,1 miliarPilihan umum: id, stok, jumlah
BIGINT±9,2 triliunData raksasa, id sangat banyak

2. Bilangan desimal

  • DECIMAL(10,2) — angka persis: total 10 digit, 2 di antaranya di belakang koma. Pilihan wajib untuk uang.
  • FLOAT / DOUBLE — angka pecahan pendekatan (cepat, tapi ada pembulatan kecil). Cocok untuk data ilmiah, bukan uang.

Mitos berbahaya: menyimpan uang di FLOAT. Hitung 0.1 + 0.2 di banyak sistem hasilnya 0.30000000000000004. Pada ribuan transaksi, selisih kecil itu menumpuk jadi laporan keuangan yang tidak cocok. Gunakan DECIMAL, atau simpan dalam satuan terkecil dengan INT (misal rupiah utuh).

3. Teks

TipeKeterangan
CHAR(n)Panjang tetap n karakter. Cocok untuk kode pasti, mis. kode negara CHAR(2).
VARCHAR(n)Panjang berubah-ubah sampai n. Pilihan umum untuk nama, email, judul.
TEXTTeks panjang (artikel, deskripsi, sinopsis) sampai 64 KB. Ada juga MEDIUMTEXT dan LONGTEXT.

4. Tanggal & waktu

TipeFormatContoh
DATEYYYY-MM-DD2024-03-15 (tanggal lahir, tanggal pesan)
TIMEHH:MM:SS14:30:00
DATETIMEtanggal + jam2024-03-15 14:30:00 (waktu kejadian)
TIMESTAMPseperti DATETIME, otomatis mengikuti zona waktukapan baris dibuat/diubah

5. Lain-lain

  • BOOLEAN — benar/salah. Di MySQL sebenarnya alias TINYINT(1): 0 = salah, 1 = benar.
  • ENUM('baru','lunas','batal') — hanya boleh salah satu dari daftar.
  • JSON — menyimpan data berbentuk JSON.

Jurus memilih cepat

DataTipe yang tepat
Nomor idINT (atau BIGINT)
Nama, email, alamat singkatVARCHAR(100) dsb.
Harga, saldoDECIMAL(12,2) atau INT
Nomor teleponVARCHAR(20) — bukan INT, karena angka 0 di depan akan hilang!
Tanggal lahirDATE
Aktif / tidakBOOLEAN

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X