Database MySQL – Tipi di dato testo

mysql-logo

In questa, per il momento ultima, sessione del corso MySQL continuiamo col vedere i tipi di dato utilizzabili in un database MySQL.

Database MySQL – Tipi testo

I tipi di dato di testo permettono di memorizzare all’interno del database MySQL delle stringhe di testo più o meno lunghe. Le comparazioni di testo possono essere case sensitive o in-sensitive (differenza tra maiuscole e minuscole) a seconda del tipo scelto.

  • CHAR(x): dove x può variare da 1 a 255.
  • VARCHAR(x): dove x va 1-255
  • I tipi CHAR e VARCHAR sono simili in quanto permettono di memorizzare delle stringhe di lunghezza da 0 a 255 caratteri. Ci sono alcune importanti differenze tra i due tipi di dato. Il tipo CHAR memorizza il numero massimo di caratteri possibili, se la stringa fornita è più corta la parte rimanente viene riempita con degli spazi. VARCHAR memorizza esattamente la stringa fornita, utilizzando un numero di byte uguali alla stringa più uno. La seguente tabella spiega meglio le differenze in termini di dati memorizzati e spazio occupato:

    Value CHAR(4) Storage Richiesto VARCHAR(4) Storage Richiesto
    '' '    ' 4 bytes '' 1 byte
    'ab' 'ab  ' 4 bytes 'ab' 3 bytes
    'abcd' 'abcd' 4 bytes 'abcd' 5 bytes
    'abcdefgh' 'abcd' 4 bytes 'abcd' 5 bytes
  • BLOB: Il termine BLOB sta per Binary Large OBject (oggetto binario di grosse dimensioni) e si compone di quattro sottogruppi che differiscono per la lunghezza di stringhe che possono memorizzare. I tipi sono TINYBLOB, BLOB, MEDIUMBLOB, e LONGBLOB. Il tipo di dato è case sensitive e nelle ricerche c’è differenza tra lettere maiuscole e minuscole.
  • TEXT: Tipo di dato simile al BLOB, ma case in-sensitive. Nelle ricerche non c’è differenza tra lettere maiuscole e minuscole. Si compone di quattro tipi che sono: TINYTEXT, TEXT, MEDIUMTEXT e LONGTEXT.
  • La lunghezza massima dei testi memorizzabili nei tipi BLOB e TEXT è la seguente:

    Tipo dato Lunghezza Massima
    TINYBLOB, TINYTEXT: 256 caratteri
    BLOB, TEXT: 65.536 caratteri
    MEDIUMBLOB, MEDIUMTEXT: 16.777.216 caratteri
    LONGBLOB, LONGTEXT: 4.294.967.296 caratteri

Database MySQL – Tipi ENUM e SET

I tipi ENUM e SET sono un tipo di dato di testo in cui le colonne possono avere solo dei valori predefiniti.

  • ENUM: Tipo di dato ENUMerazione. Contiene un insieme di valori prefissati e si può inserire solamente uno dei valori previsti. valori sono messi tra parentesi seguente dichiarazione ENUM.
  • Un esempio, è la colonna coniugato che abbiamo incontrato nella tabella dati_personali

    La colonna coniugato accetterà solamente i valori S o N. Se proveremo a mettere un valore diverso con il comando INSERT, MYSQL non restituirà alcun errore, si limiterà ad inserire il valore NULL nella colonna.

  • SET: è una estensione di ENUM. Come per ENUM i valori sono fissi e disposti dopo la dichiarazione SET; tuttavia, le colonne SET possono assumere più di un valore tra quelli previsti.
  • Ad esempio una colonna una colonna di tipo SET definita come:

    accetterà un comando del tipo:

Tags:

About the Author

Post a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Top