Storage required for column type TINYINT 1 byte SMALLINT 2 byte MEDIUMINT 3 byte INT 4 byte INTEGER 4 byte BIGINT 8 byte FLOAT (X) 4 if X <= 24 or 8 If 25 <= X <= 53 FLOAT 4 bytes DOUBLE 8 bytes double precision 8 bytes REAL 8 bytes DECIMAL (M, D) M bytes (D + 2, if M <D) NUMERIC (M, D) M bytes (D + 2, if M <D) storage required for DATE and TIME column types DATE 3 bytes DATETIME 8 bytes TIMESTAMP 4 bytes TIME 3 bytes YEAR 1 byte string type column type storage required CHAR (M) M byte, 1 <= M <= 255 VARCHAR (M) L + 1 byte, here L <= M and 1 <= M <= 255 TINYBLOB, tinytext l + 1 byte, here L <2 ^ 8 BLOB, text l + 2 bytes, here L <2 ^ 16 MEDIUMBLOB, mediumtext l + 3 bytes, here L <2 ^ 24 LONGBLOB, longtext l + 4 bytes, here L <2 ^ 32 ENUM ('value1 ', 'value2 ',...) 1 or 2 bytes, depending on the number of enumerated values (maximum value 65535) SET ('value1 ', 'value2 ',...) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (up to 64 members)