- 1 1. Nozioni di base sulla manipolazione delle stringhe in MySQL
- 2 2. Estrazione di stringhe di base in MySQL – La funzione SUBSTRING
- 3 3. Estrarre stringhe con le funzioni LEFT e RIGHT
- 4 4. Suddivisione di stringhe con la funzione SUBSTRING_INDEX
- 5 5. Applicazioni pratiche: estrazione di stringhe nelle operazioni di database
- 6 6. Suggerimenti per l’ottimizzazione delle prestazioni
- 7 7. Conclusione
1. Nozioni di base sulla manipolazione delle stringhe in MySQL
Nel gestione dei database, la manipolazione delle stringhe è una competenza essenziale per elaborare i dati e ottimizzare i risultati delle query. MySQL fornisce funzioni pratiche per estrarre e manipolare le stringhe. In questo articolo ci concentriamo principalmente sulla importante funzione SUBSTRING, introduciamo altri metodi di manipolazione delle stringhe e spieghiamo esempi pratici d’uso.
2. Estrazione di stringhe di base in MySQL – La funzione SUBSTRING
La funzione SUBSTRING in MySQL è una delle funzioni più comunemente usate per estrarre una porzione specificata di una stringa.
Sintassi di base della funzione SUBSTRING
SUBSTRING(string, start_position, length)
- string : La stringa da cui estrarre.
- start_position : La posizione di partenza per l’estrazione (la prima posizione del carattere è 1).
- length : Il numero di caratteri da estrarre (se omesso, l’estrazione continua dalla posizione di partenza fino alla fine della stringa).
Esempio: Uso di base
SELECT SUBSTRING('Hello World', 2, 5);
In questa query, vengono estratti cinque caratteri a partire dal secondo carattere della stringa “Hello World”, ottenendo “ello “.
Utilizzo di valori negativi con SUBSTRING
Specificando un valore negativo per la posizione di partenza, è possibile contare dalla fine della stringa ed estrarre i caratteri.
SELECT SUBSTRING('abcdefg', -3, 2);
Questa query restituisce “ef”, che corrisponde al terzo e quarto carattere contati dalla fine.
3. Estrarre stringhe con le funzioni LEFT e RIGHT
Invece di utilizzare la funzione SUBSTRING, è possibile usare anche le funzioni LEFT e RIGHT per recuperare un numero specificato di caratteri dall’inizio o dalla fine di una stringa.
Funzione LEFT
La funzione LEFT estrae un numero specificato di caratteri dal lato sinistro di una stringa.
SELECT LEFT('abcdefg', 3);
Questa query restituisce “abc”.
Funzione RIGHT
Al contrario, la funzione RIGHT recupera un numero specificato di caratteri dal lato destro di una stringa.
SELECT RIGHT('abcdefg', 3);
Questa query restituisce “efg”. Queste funzioni sono particolarmente utili quando è necessario estrarre un numero fisso di caratteri sia dall’inizio sia dalla fine di una stringa.
4. Suddivisione di stringhe con la funzione SUBSTRING_INDEX
La funzione SUBSTRING_INDEX viene utilizzata per suddividere una stringa in base a un delimitatore specificato e recuperare una sottostringa specifica. È particolarmente utile per dati CSV o campi contenenti valori concatenati.
Sintassi di base della funzione SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : La stringa di destinazione da elaborare.
- delimiter : Il carattere usato per suddividere la stringa (ad esempio, una virgola).
- N : Il numero di delimitatori da considerare. Un valore positivo conta dall’inizio, e un valore negativo conta dalla fine.
Esempio: Utilizzo
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
In questa query, la stringa “apple,orange,banana” viene suddivisa per virgole, e i primi due elementi “apple,orange” vengono recuperati.

5. Applicazioni pratiche: estrazione di stringhe nelle operazioni di database
La manipolazione delle stringhe è estremamente utile nella gestione dei database nel mondo reale. Ecco diversi esempi pratici.
Estrarre una parte del nome di un prodotto
La query seguente cerca i dati in cui il nome del prodotto termina con “Large”.
SELECT * FROM products WHERE SUBSTRING(name, -5, 5) = 'Large';
In questo modo, è possibile specificare la parte finale dei dati ed estrarre i record che corrispondono a condizioni specifiche.
Estrarre dati numerici per il calcolo
Questo esempio estrae una parte di un campo numerico e la utilizza in un calcolo.
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
In questa query, le ultime due cifre del prezzo del prodotto vengono estratte e moltiplicate per 5 per visualizzare il risultato come “total”.
6. Suggerimenti per l’ottimizzazione delle prestazioni
Sebbene la manipolazione delle stringhe sia comoda, può influire sulle prestazioni nei database su larga scala. Di seguito sono riportati diversi suggerimenti per migliorare le prestazioni.
Utilizzare gli indici in modo efficace
Quando si cerca una parte di una stringa, gli indici configurati correttamente possono migliorare notevolmente la velocità delle query. Ad esempio, combinando la clausola LIKE con gli indici, le query che cercano dall’inizio del modello, come LIKE 'abc%', sono ottimali. Al contrario, i modelli come LIKE '%abc' che eseguono una corrispondenza di suffisso non possono utilizzare gli indici in modo efficace e possono causare un degrado delle prestazioni.
Operazioni su stringhe in grandi insiemi di dati
Se esegui frequentemente manipolazioni di stringhe su tabelle di grandi dimensioni, considera di elaborare le trasformazioni delle stringhe a livello dell’applicazione. Quando l’elaborazione lato database diventa pesante, distribuire il carico di lavoro all’applicazione può aiutare a ridurre il carico del sistema.
7. Conclusione
La manipolazione delle stringhe in MySQL è uno strumento potente per l’estrazione dei dati e la generazione di report. Utilizzando in modo efficace funzioni come SUBSTRING, LEFT e RIGHT, è possibile recuperare facilmente le informazioni necessarie. Per ottimizzare le prestazioni, è importante configurare indici appropriati e progettare attentamente l’approccio di elaborazione.
Padroneggiando queste tecniche, potrai migliorare ulteriormente le tue competenze nella manipolazione delle stringhe MySQL. Come prossimo passo, consigliamo di approfondire le espressioni regolari e altre tecniche avanzate di elaborazione delle stringhe.

