Struktur Data MySQL

Berikut adalah penjelasan lengkap tentang struktur data (Data Types) di MySQL, sehingga bisa memahami tipe data apa yang tepat untuk setiap kolom dalam tabel.


๐Ÿ—‚๏ธ 1. Tipe Data Number (Angka)

A. Integer (bilangan bulat)

TipeRentangUkuran
TINYINT-128 s/d 1271 byte
SMALLINT-32,768 s/d 32,7672 byte
MEDIUMINT-8 juta s/d 8 juta3 byte
INT / INTEGER-2 milyar s/d 2 milyar4 byte
BIGINTsangat besar8 byte

Tambahan:

  • UNSIGNED โ†’ hanya angka positif (rentangnya menjadi 2x lebih besar)

B. Floating Point (angka pecahan)

Digunakan untuk angka desimal:

TipeKeterangan
FLOATpresisi sedang
DOUBLEpresisi lebih tinggi
DECIMAL(M,D)presisi tetap, cocok untuk uang

Contoh:

DECIMAL(10,2) -- total 10 digit, 2 digit di belakang koma

๐Ÿ“ 2. Tipe Data String (Teks)

A. Text pendek

TipeMaks panjang
CHAR(n)fix-length (mis: kode negara)
VARCHAR(n)panjang variabel (nama, alamat pendek)

VARCHAR paling sering digunakan.


B. Text panjang

TipeMaks ukuran
TINYTEXT255 bytes
TEXT65 KB
MEDIUMTEXT16 MB
LONGTEXT4 GB

Dipakai untuk deskripsi, artikel, JSON panjang, dll.


๐Ÿ—“๏ธ 3. Tipe Data Tanggal & Waktu

TipeContohKeterangan
DATE2025-12-09tanggal
TIME14:30:55waktu
DATETIME2025-12-09 14:30:55tanggal + waktu
TIMESTAMPotomatis terset oleh servercocok untuk log perubahan
YEAR2024tahun

TIMESTAMP bisa auto-update:

updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

๐Ÿ”‘ 4. Tipe Data Boolean

MySQL tidak punya boolean asli:

BOOL / BOOLEAN โ‰ˆ TINYINT(1)

0 = false
1 = true


๐Ÿ“ฆ 5. Tipe Data Binary

Untuk menyimpan data biner (file, gambar, enkripsi):

TipeMaks ukuran
BINARY(n)fixed binary
VARBINARY(n)variabel
BLOB65 KB
MEDIUMBLOB16 MB
LONGBLOB4 GB

๐Ÿ“š 6. Tipe Data JSON (MySQL 5.7+)

MySQL mendukung tipe JSON asli:

data JSON

Contoh:

INSERT INTO produk (info) VALUES ('{"warna":"merah","stok":10}');

๐Ÿงฌ 7. Tipe Data ENUM & SET

ENUM

Memilih salah satu nilai:

status ENUM('aktif','nonaktif','banned')

SET

Memilih banyak nilai sekaligus.


๐Ÿ” Ringkasan Tipe Data MySQL

KategoriContoh
NumberINT, BIGINT, DECIMAL
StringVARCHAR, TEXT
Date/TimeDATE, DATETIME
BooleanTINYINT(1)
BinaryBLOB
JSONJSON
SpecialENUM, SET

Be the first to comment

Leave a Reply

Your email address will not be published.


*