Ti ho detto, dipende da quello che ci devi fare; ovvero dal tipo di dato.


CREATE TABLE prova_tipi (
idtipo INT(11),
nome VARCHAR(64),
codicefiscale VARCHAR(16),
sesso_1 CHAR,
sesso_2 ENUM('M', 'F'),
data_nascita DATE,
titolo VARCHAR(255),
messaggio TEXT
);
ad esempio, ma dipende sempre da quello che ogni campo deve contenere. Se il "messaggio" sarà lunghissimo e potrebbe non entrare nel range del tipo "TEXT" puoi usare LONGTEXT, FULLTEXT, BLOB.

"sesso" come vedi l'abbiamo rappresentato o con un CHAR o con un ENUM (enumerazione di possibilità).

Ognuno di quei campi ha una dimensione massima e devi scegliere il più piccolo più grande per le tue possibilità.

Se ti basta un INT non userai un LONGINT sarebbe uno spreco.
Se ti basta TEXT non userai un BLOB.

E così via...