// MySQL Data Types

MySQL Data Types

คู่มืออ้างอิง Data Types ครบถ้วน — เลือก Type ที่เหมาะสมเพื่อประสิทธิภาพและความถูกต้องของข้อมูล

// Numeric Types

ประเภทตัวเลข

TypeBytesRange (Signed)การใช้งานEngine
BIT(M)⌈M/8⌉M = 1–64 bitsเก็บ Bit Values, FlagsMyISAM InnoDB Memory
TINYINT1-128 ถึง 127Boolean (0/1), Small Flags
SMALLINT2-32,768 ถึง 32,767Year, Small Counts
MEDIUMINT3-8.3M ถึง 8.3MMedium Range Numbers
INT4-2.1B ถึง 2.1BPrimary Keys, IDs ทั่วไป
BIGINT8±9.2 × 10¹⁸Large IDs, Financial Figures
// Date & Time Types

ประเภทวันที่และเวลา

TypeFormatRangeการใช้งาน
DATETIMEYYYY-MM-DD HH:MM:SS1000-01-01 ถึง 9999-12-31Timestamps, Event Times
DATEYYYY-MM-DD1000-01-01 ถึง 9999-12-31Birth Dates, Due Dates
TIMESTAMPYYYY-MM-DD HH:MM:SS1970-01-01 ถึง 2038-01-19Auto Updated Timestamps
TIMEHH:MM:SS-838:59:59 ถึง 838:59:59Duration, Time of Day
YEARYYYY1901 ถึง 2155Year only values
// String Types

ประเภทข้อความ

TypeMax SizeStorageการใช้งาน
CHAR(n)255 charsFixedFixed-length strings (codes, hashes)
VARCHAR(n)65,535 charsVariableNames, Emails, Short Text
BINARY(n)255 bytesFixedBinary Fixed-length Data
VARBINARY(n)65,535 bytesVariableBinary Variable-length Data
BLOB65KBVariableBinary Large Objects (images, files)
TEXT65KBVariableLong Text (articles, descriptions)
ENUM65,535 values1-2 bytesFixed Set of Values (status, type)
SET64 members1-8 bytesMultiple Values from Fixed Set

💡 Tips การเลือก Data Type

เลือก Type ที่เล็กที่สุดที่สามารถเก็บข้อมูลได้ถูกต้อง ใช้ INT แทน BIGINT หากค่าไม่เกิน 2 พันล้าน ใช้ DATETIME แทน VARCHAR สำหรับวันที่ และใช้ ENUM แทน VARCHAR สำหรับค่าที่มีจำนวนจำกัด เพื่อประหยัด Storage และเพิ่มความเร็วในการ Query

ต้องการ Database Design?
ทีมผู้เชี่ยวชาญของเราช่วยออกแบบ Schema ที่ถูกต้องตั้งแต่ต้น ประหยัดเวลาและ Cost ในอนาคต