16. Il linguaggio SQL Vers. 11.0 – Gennaio 2026
Eseguire QUERY CASE SENSITIVE in SQL( tabella case sensitive) PREMESSA
I CHARACTER SET( insiemi di caratteri) sono i diversi sistemi attraverso i quali i caratteri alfanumerici, i segni di punteggiatura e tutti i simboli visualizzabili su un computer vengono memorizzati in un valore binario.
Ogni database relazionale come MySQL o MariaDB utilizza i CHARACTER SET per gestire come i caratteri vengono codificati e salvati nei campi delle tabelle.
In ogni CHARACTER SET, ad un valore binario corrisponde un carattere ben preciso.
Di conseguenza, quando una stringa viene memorizzata utilizzando un certo insieme di caratteri, dovrà essere visualizzata attraverso quello stesso insieme, altrimenti alcuni caratteri potrebbero apparire diversi da come ce li aspettiamo.
L ' esempio classico di questo inconveniente si verifica in genere con le lettere accentate e, a volte, con il simbolo dell ' Euro, che ogni tanto capita di vedere non rappresentati correttamente, ad esempio su una pagina web: segno che non stiamo visualizzando quella pagina con il giusto insieme di caratteri.
MySQL, a partire dalla versione 4.1, ha introdotto un supporto molto avanzato alla gestione di diversi CHARACTER SET.
Infatti ci consente di gestire i set di caratteri a livello di server, database, tabella e singola colonna, nonchè di client e di connessione.
Una COLLATION è un insieme di regole che determinano come confrontare e ordinare i caratteri in un database. Ogni CHARACTER SET ha una o più COLLATION associate, che specificano come i caratteri vengono confrontati per operazioni come ORDER BY, GROUP BY o per eseguire confronti di uguaglianza.
Quando in MySQL si crea un qualsiasi database, PER DEFAULT esso utilizzerà il CHARACTER SET latin1( quello maggiormente usato in Europa Occidentale) e la COLLATION latin1 _ swedish _ ci per tutte le tabelle in esso contenute( se non diversamente specificato)
Tale COLLATION è multilingue( cioè non specifica per una lingua) e " case insensitive " come dimostra il " ci " finale, cioè tiene conto della differenza fra maiuscole e minuscole nell ' ordinare o confrontare le stringhe.
In generale possiamo dire che il nome di ogni COLLATION segue un determinato standard:- inizia con il nome del CHARACTER SET a cui si riferisce,- comprende di solito una specifica relativa ad una lingua,- termina con cs( case sensitive) o ci( case insensitive) a seconda che tenga o meno in considerazione la differenza tra maiuscole e minuscole, oppure con bin quando il valore binario dei caratteri è utilizzato direttamente per i confronti.
Normalmente l ' esistenza di una collation dedicata ad una singola lingua si ha quando le regole generali del set di caratteri non soddisfano le esigenze di quella lingua. Le collation dedicate al tedesco, ad esempio, servono a trattare nel giusto modo le vocali con dieresi( ad esempio Ü) e la lettera " sharp "( ß)
.
Le istruzioni SQL " SHOW CHARACTER SET;" e " SHOW COLLATION;" ci consentono di ottenere la lista, rispettivamente, dei CHARACTER SET e delle COLLATION disponibili sul server.
In mancanza di inizializzazione, come già detto, il CHARACTER SET di default e la relativa COLLATION dipenderanno dalle impostazioni del server( in genere CHARACTER SET latin1 e COLLATION di default latin1 _ swedish _ ci).
Autore: Rio Chierego( email: riochierego @ libero. it- sito web: www. riochierego. it) Pag. 36