Una volta che hai organizzato la struttura della tabella, il passo successivo è quello di capire il tipo di dati. Ci sono tre tipi principali: testo, numeri e date/ora.
La scelta del tipo è determinata dalle informazioni che possono o non possono essere memorizzate in una cella della tabella.
Utilizzare l’opzione più corretta per ogni colonna è importante in quanto può influenzare le prestazioni complessive del database.
Dati di tipo testo
Tipo | Descrizione | |
---|---|---|
CHAR( ) | Una dimensione fissa compresa tra 0 e 255 caratteri. | |
VARCHAR( ) | Una dimensione variabile compresa tra 0 e 255 caratteri. | |
TINYTEXT | Una stringa lunga al massimo 255 caratteri. | |
TEXT | Una stringa lunga al massimo 65535 caratteri. | |
BLOB | Una stringa lunga al massimo 65535 caratteri. | |
MEDIUMTEXT | Una stringa lunga al massimo 16777215 caratteri. | |
MEDIUMBLOB | Una stringa lunga al massimo 16777215 caratteri. | |
LONGTEXT | Una stringa lunga al massimo 4294967295 caratteri. | |
LONGBLOB | Una stringa lunga al massimo 4294967295 caratteri. |
Le parentesi () permettono di inserire il numero massimo di caratteri ammessi in quel campo.
VARCHAR(20)
CHAR e VARCHAR sono i tipi più diffusi. CHAR è una stringa di lunghezza fissa ed è principalmente utilizzato quando i dati non variano di lunghezza. VARCHAR è una stringa di lunghezza variabile e viene utilizzato principalmente quando i dati possono variare in lunghezza, senza comunque superare i 255 caratteri.
CHAR può essere elaborato più velocemente dal database perché i campi mantengono la stessa lunghezza. VARCHAR può essere un po’ più lento in quanto viene calcolato ciascun campo nella colonna, ma consente di risparmiare spazio di memoria. Quale usare in ultima analisi, spetta a voi.
Utilizzando sia un CHAR e che VARCHAR nella stessa tabella, MySQL cambia automaticamente il CHAR in VARCHAR per ragioni di compatibilità.
BLOB, acronimo di Binary Large Object, e TEXT sono tipi di campo di lunghezza variabile che memorizzano grandi quantità di dati. Sono simili a una versione più grande di VARCHAR. Questi tipi possono memorizzare una grande quantità di dati, ma sono anche processati molto più lentamente.
Dati di tipo numero
Tipo | Descrizione | |
---|---|---|
TINYINT() | Da -128 a 127 Da 0 a 255 UNSIGNED. |
|
SMALLINT() | Da -32768 a -32767 Da 0 a 65535 UNSIGNED. |
|
MEDIUMINT() | Da -8388608 a 8388607 Da 0 a -16777215 UNSIGNED. |
|
INT() | Da -2147483648 a 2147483647 Da 0 a -4294967295 UNSIGNED. |
|
BIGINT() | Da -9223372036854775808 a 9223372036854775807 Da 0 a -18446744073709551615 UNSIGNED. |
|
FLOAT | Un piccolo numero con un punto decimale fluttuante. | |
DOUBLE( , ) | Un grande numero con un punto decimale fluttuante. | |
DECIMAL( , ) | Un DOUBLE memorizzato come stringa, con un punto decimale fisso. |
I tipi interi hanno un’opzione in più chiamata UNSIGNED (senza segno). Normalmente, il numero intero va da un valore negativo a un valore positivo. L’utilizzo di una istruzione UNSIGNED sposterà tale intervallo in modo che inizi da zero, invece da un numero negativo.
Dati di tipo data/ora
Tipo | Descrizione | |
---|---|---|
DATE | YYYY-MM-DD | |
DATETIME | YYYY-MM-DD HH:MM:SS | |
TIMESTAMP | YYYYMMDDHHMMSS | |
TIME | HH:MM:SS |
Dati di altri tipi
Tipo | Descrizione | |
---|---|---|
ENUM( ) | Enumerazione breve, il che significa che ogni colonna può avere uno dei pochi possibili valori specificati. | |
SET | Simile a ENUM, tranne per il fatto che ogni colonna può avere più di uno dei possibili valori specificati. |
ENUM è l’abbreviazione di lista enumerata. Questa colonna può memorizzare solo uno dei valori che sono dichiarati nella lista specificata contenuta nelle parentesi ().
ENUM ('y', 'n')
È possibile elencare fino a 65535 valori in un elenco ENUM. Se si inserisce un valore che non è nell’elenco, verrà inserito un valore vuoto.
SET è simile a ENUM eccetto SET può contenere fino a 64 voci di elenco e può memorizzare più di una scelta.
Commenti recenti