I tipi di campi stringhe in MySQL

MySQL
di Risorse.net

Un tipo di dato stringa è un campo che può contenere qualunque tipo di carattere: numerico, alfanumerico, simboli ecc.
Come per i campi numerici ce ne sono di vari tipi, a seconda della quantità di dati che si vuole salvare.

Nella tabella seguente, maggiori informazioni:

Nome del tipo Dimensioni massime Memoria occupata
CHAR 255 byte X byte (*)
VARCHAR 255 byte X+1 byte (*)
TINYTEXT 255 byte X+1 byte (*)
TINYBLOB 255 byte X+2 byte (*)
TEXT 65535 byte X+2 byte (*)
BLOB 65535 byte X+2 byte (*)
MEDIUMTEXT 1,6 MB X+3 byte (*)
MEDIUMBLOB 1,6 MB X+3 byte (*)
LONTEXT 4,2 GB X+4 byte (*)
LONGBLOB 4,2 GB X+4 byte (*)

(*) X è lo spazio occupato dal testo all'interno del campo

CHAR e VARCHAR
Questi due tipi di campi, nonostante la somiglianza nel nome, si comportano in maniera molto diversa. Il primo ha una lunghezza fissa, mentre il secondo è variabile.
Ciò significa che se creassimo un campo CHAR(9) e al suo interno specificassimo "ciao", questo campo occuperebbe comunque 9 byte invece di 4. Con VARCHAR(9) invece, scrivendo al suo interno "ciao" il campo occuperebbe 5 byte (guardare la tabella superiore X+1 dove in questo caso è X=4, quindi 4+1=5).

All'interno di una tabella, non è possibile utilizzarli entrambi. Creando ad esempio due campi nella stessa tabella, uno CHAR e l'altro VARCHAR, MySQL renderà entrambi VARCHAR, come è possibile vedere dall'immagine seguente, realizzata con PhpMyAdmin.

MySQL non ammette CHAR e VARCHAR nella stessa tabella. Nel caso lo facessimo, CHAR diventerebbe VARCHAR


TEXT e BLOB
TEXT e BLOB sono i campi di MySQL dedicati a contenere grandi quantità di dati. Fino a 4,2 GB con i LONGTEXT e LONGBLOB.
Il secondo in particolare, il campo di tipo BLOB sta per Bynary Large Object e consente il salvataggio di interi file nel formato binario. Utile per nascondere file dietro username e password, senza così riuscire a rintracciare il percorso fisico del file (che infatti non esiste, essendo incluso direttamente nel database).

I modificatori
I modificatori previsti da questi tipi di campi sono: Gli altri modificatori: UNIQUE, UNSIGNED e ZEROFILL sono stati trattati nella puntata dedicata ai tipi di dati numerici.

© Risorse.net (www.risorse.net)
pagina in versione stampabile:
http://www.risorse.net /mysql/tipi_campi_stringhe.asp?print=ok