- 1 1. Nozioni di base sulla manipolazione di stringhe in MySQL
- 2 2. Estrazione di base di stringhe in MySQL – Funzione SUBSTRING
- 3 3. Estrazione di stringhe con le funzioni LEFT e RIGHT
- 4 4. Divisione di stringhe con SUBSTRING_INDEX
- 5 5. Applicazioni pratiche: Estrazione di stringhe nelle operazioni sul database
- 6 6. Suggerimenti per l’ottimizzazione delle prestazioni
- 7 7. Conclusione
1. Nozioni di base sulla manipolazione di stringhe in MySQL
Nella gestione dei database, la manipolazione di stringhe è una competenza essenziale per l’elaborazione dei dati e l’ottimizzazione delle query. MySQL fornisce funzioni comode per estrarre e manipolare le stringhe. In questo articolo, ci concentreremo sulla importante funzione SUBSTRING, insieme ad altri metodi di manipolazione di stringhe, e spiegheremo casi d’uso pratici.
2. Estrazione di base di stringhe in MySQL – Funzione SUBSTRING
La funzione SUBSTRING in MySQL è una delle funzioni più comunemente utilizzate per estrarre una porzione di una stringa.
Sintassi di base di SUBSTRING
SUBSTRING(string, start_position, length)
- string : La stringa di destinazione da cui estrarre.
- start_position : La posizione di inizio dell’estrazione (il primo carattere è la posizione 1).
- length : Il numero di caratteri da estrarre. Se omesso, estrae dalla posizione di inizio fino alla fine della stringa.
Esempio: Utilizzo di base
SELECT SUBSTRING('Hello World', 2, 5);
Questa query estrae 5 caratteri a partire dal secondo carattere di “Hello World”, risultando in “ello “.
Utilizzo di valori negativi con SUBSTRING
Specificando una posizione di inizio negativa, è possibile estrarre caratteri contati dalla fine della stringa.
SELECT SUBSTRING('abcdefg', -3, 2);
Questa query restituisce “ef”, che sono il terzo e il quarto carattere dalla fine.

3. Estrazione di stringhe con le funzioni LEFT e RIGHT
Invece di SUBSTRING, è possibile utilizzare LEFT o RIGHT per recuperare un numero specifico 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
La funzione RIGHT estrae 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 sempre un numero fisso di caratteri da uno dei due lati di una stringa.
4. Divisione di stringhe con SUBSTRING_INDEX
La funzione SUBSTRING_INDEX divide una stringa in base a un delimitatore specificato e restituisce una parte particolare. Questo è particolarmente utile per dati CSV o campi contenenti più valori concatenati.
Sintassi di base di SUBSTRING_INDEX
SUBSTRING_INDEX(string, delimiter, N)
- string : La stringa di destinazione su cui operare.
- delimiter : Il carattere utilizzato per dividere la stringa (ad esempio, una virgola).
- N : Il numero di parti da restituire. Un valore positivo conta dall’inizio, un valore negativo conta dalla fine.
Esempio: Utilizzo
SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 2);
Questa query recupera “apple,orange” dalla stringa “apple,orange,banana”.

5. Applicazioni pratiche: Estrazione di stringhe nelle operazioni sul database
La manipolazione di stringhe è molto utile nella gestione reale dei database. Di seguito sono riportati alcuni esempi pratici.
Estrazione di una parte del nome di un prodotto
La query seguente cerca nomi di prodotti che terminano con “Large”.
SELECT * FROM products WHERE SUBSTRING(name, -2, 2) = 'Large';
In questo modo, è possibile estrarre record che corrispondono a una condizione specifica alla fine di una stringa.
Estrazione di dati numerici per calcoli
Ecco un esempio di estrazione di una parte di un campo numerico per calcoli:
SELECT name, price, SUBSTRING(price, -2, 2) * 5 AS total FROM products;
Questa query estrae le ultime due cifre del prezzo del prodotto, le moltiplica per 5 e visualizza il risultato come “total”.
6. Suggerimenti per l’ottimizzazione delle prestazioni
Sebbene le funzioni di stringa siano potenti, possono influire sulle prestazioni in database di grandi dimensioni. Di seguito sono riportati alcuni suggerimenti per migliorare le prestazioni.
Utilizzo efficiente degli indici
Quando si cercano parti di stringhe, creare indici appropriati può migliorare significativamente la velocità delle query. Ad esempio, usando la clausola LIKE, query come LIKE 'abc%' possono utilizzare gli indici in modo efficace. Tuttavia, query come LIKE '%abc' (corrispondenze di suffisso) non possono utilizzare gli indici, il che può ridurre le prestazioni.
Operazioni su Stringhe in Grandi Set di Dati
Se esegui frequentemente operazioni su stringhe su tabelle di grandi dimensioni, considera di gestire la manipolazione delle stringhe a livello dell’applicazione. Spostare l’elaborazione pesante dal database all’applicazione può aiutare a ridurre il carico del server.
7. Conclusione
La manipolazione delle stringhe in MySQL è uno strumento potente per l’estrazione e la generazione di report dei dati. Conoscendo a fondo funzioni come SUBSTRING, LEFT e RIGHT, è possibile estrarre facilmente le informazioni esatte di cui hai bisogno. Per ottimizzare le prestazioni, è importante configurare correttamente gli indici e progettare metodi di elaborazione efficienti.
Padroneggiando queste tecniche, potrai migliorare ulteriormente le tue competenze nella manipolazione delle stringhe in MySQL. Come passo successivo, considera di apprendere le espressioni regolari e altre operazioni avanzate sulle stringhe.


