Salta ai contenuti

Tipi di dati in SQL

Quando crei una colonna, devi decidere che cosa potrà contenere. È come scegliere il contenitore corretto prima di sistemare gli oggetti in cucina.

Un barattolo per il sale non è la scelta migliore per conservare la pasta. Allo stesso modo, una colonna pensata per una data non dovrebbe contenere una frase lunga.

TipoSignificato sempliceEsempio
INTnumero intero42
VARCHAR(100)testo corto'Luca'
TEXTtesto lungouna descrizione
DATEdata2026-04-24
BOOLEANvero o falsoTRUE
DECIMAL(10,2)numero decimale preciso19.99

Il tipo di dato non è un dettaglio estetico. Aiuta il database a capire come salvare l’informazione, come confrontarla e come difenderla da errori banali.

Per esempio, una colonna prezzo va trattata in modo diverso da una colonna nome. Una colonna data si comporta in modo diverso da un testo normale.

VARCHAR e TEXT: sembrano simili, ma non sono uguali

Sezione intitolata “VARCHAR e TEXT: sembrano simili, ma non sono uguali”

Quando inizi è normale pensare: “se entrambi tengono testo, perché esistono due tipi?”

  • VARCHAR(100) dice: qui entra testo, ma con un limite di lunghezza
  • TEXT dice: qui può entrare anche testo molto lungo

Per un nome o un’email, spesso VARCHAR è una scelta naturale. Per una recensione o una descrizione dettagliata, TEXT può avere più senso.

INT è comodo per quantità, contatori e identificatori. Se devi salvare quante unità hai in magazzino, è un buon candidato.

DECIMAL è più adatto per prezzi, importi e valori dove la precisione conta. Quando ci sono di mezzo soldi, conviene essere precisi.

Qui sotto vedi una tabella dove i tipi di dato raccontano già molto delle colonne:

CREATE TABLE prodotti (
id INT,
nome VARCHAR(100),
prezzo DECIMAL(10,2),
disponibile BOOLEAN,
data_creazione DATE
);

Leggendo questa struttura capisci subito che prezzo è un valore numerico preciso, disponibile è un sì/no e data_creazione è una data.