Important note: TINYTEXT/MEDIUMTEXT/LONGTEXT, MEDIUMINT, INT UNSIGNED etc. MySQL-specific/MySQL-style types hain. PostgreSQL/SQL Server me names/sizes thode different ho sakte, but concept same rahega.
Data type decide karta hai:
Simple rule:
“Jitna chhota + accurate type possible ho, utna best — but future growth bhi handle ho.”
CHAR, VARCHAR, TEXT (TINY/MEDIUM/LONG), BLOB
Integers: TINYINT/SMALLINT/MEDIUMINT/INT/BIGINT
Decimals: FLOAT/DOUBLE (approx), DECIMAL (exact)
DATE, DATETIME, TIMESTAMP, TIME