SyntaxStudy
Sign Up
MySQL Beginner 8 min read

MySQL Data Types

MySQL Data Types

Numeric

TINYINT    -- -128 to 127
SMALLINT   -- -32768 to 32767
INT        -- ~2 billion
BIGINT     -- very large integers
FLOAT      -- approximate decimal
DECIMAL(10,2) -- exact: 99999999.99

String

CHAR(10)      -- fixed length
VARCHAR(255)  -- variable length
TEXT          -- up to 65,535 chars
LONGTEXT      -- up to 4GB

Date/Time

DATE          -- 2024-01-15
TIME          -- 13:45:00
DATETIME      -- 2024-01-15 13:45:00
TIMESTAMP     -- auto UTC tracking
YEAR          -- 2024

Other

ENUM('male','female')  -- one of set
SET('a','b','c')      -- multiple of set
JSON                   -- JSON documents (MySQL 5.7+)
Pro Tip

Use DECIMAL for money — never FLOAT, which has rounding errors.