- 1 1. Panoramica di MySQL LIKE
- 2 2. Sintassi di base di MySQL LIKE
- 3 3. Wildcard usate con LIKE
- 4 4. Tecniche di corrispondenza di pattern
- 5 5. Escape dei caratteri speciali in LIKE
- 6 6. Uso avanzato di LIKE
- 7 7. Best practice nell’utilizzo di LIKE
- 8 8. Casi d’Uso Comuni di MySQL LIKE
- 9 9. Riepilogo
- 10 10. Domande Frequenti
1. Panoramica di MySQL LIKE
L’operatore LIKE di MySQL è usato per cercare dati che corrispondono a un modello specifico in un database. LIKE viene utilizzato nella clausola SQL WHERE e consente di definire condizioni di ricerca basate su parte o sull’intera stringa. Per esempio, è utile quando si cercano “nomi che iniziano con una certa lettera” o “codici prodotto che contengono caratteri specifici”.
Casi d’uso comuni per l’operatore LIKE
- Ricerche di corrispondenza parziale
- Ricerca di pattern specifici
- Filtrare i dati
Poiché questo operatore è specializzato per il matching di pattern, è essenziale per cercare e lavorare in modo efficiente con i dati in un database.
2. Sintassi di base di MySQL LIKE
La sintassi di base per utilizzare l’operatore LIKE in MySQL è la seguente:
SELECT column_name FROM table_name WHERE column_name LIKE 'pattern';
Esempi di utilizzo di LIKE
- Ricerca di dati che iniziano con un carattere specifico
SELECT * FROM users WHERE name LIKE 'A%'; - Ricerca di dati che contengono una stringa specifica
SELECT * FROM products WHERE product_code LIKE '%123%';
L’operatore LIKE è usato insieme a wildcard come % e _. Questo consente ricerche più flessibili.
3. Wildcard usate con LIKE
Con l’operatore LIKE, si usano le wildcard per definire i pattern di ricerca. MySQL supporta principalmente le seguenti due wildcard.
Wildcard %
- Corrisponde a qualsiasi stringa (zero o più caratteri)
SELECT * FROM users WHERE email LIKE '%@example.com';In questo esempio, ricerca tutti gli indirizzi email che terminano con@example.com.
Wildcard _
- Corrisponde a un singolo carattere
SELECT * FROM products WHERE product_code LIKE '_A%';In questo esempio, ricerca tutti i codici prodotto in cui il secondo carattere èA.
Usando correttamente le wildcard, è possibile filtrare i dati nel database in modo efficiente.
4. Tecniche di corrispondenza di pattern
Combinando l’operatore LIKE con le wildcard, è possibile eseguire varie ricerche di pattern.
Inizia con
- Ricerca di dati in cui la stringa inizia con un pattern specifico
SELECT * FROM customers WHERE name LIKE 'John%';Questa query ricerca tutti i nomi dei clienti che iniziano conJohn.
Finisce con
- Ricerca di dati in cui la stringa termina con un pattern specifico
SELECT * FROM files WHERE filename LIKE '%.pdf';Questa query ricerca tutti i nomi di file che terminano con.pdf.
Contiene
- Ricerca di dati in cui la stringa contiene un pattern specifico
SELECT * FROM documents WHERE content LIKE '%MySQL%';Questa query ricerca tutti i documenti che contengono la stringaMySQL.
5. Escape dei caratteri speciali in LIKE
Nell’operatore LIKE, % e _ hanno significati speciali come wildcard. Se si desidera cercarli come caratteri normali, è necessario usare un carattere di escape.
Come fare l’escape
- Esempio di ricerca usando un carattere di escape
SELECT * FROM filenames WHERE filename LIKE 'file\_%' ESCAPE '\';In questa query, vengono cercati tutti i nomi di file che iniziano confile_. Il_è normalmente trattato come wildcard, ma usando il carattere di escape\, viene trattato come un carattere normale.
6. Uso avanzato di LIKE
L’operatore LIKE può essere combinato con altre istruzioni SQL per eseguire ricerche più avanzate.
Combinazione con JOIN
- Ricerca di dati correlati tra tabelle
SELECT orders.id, customers.name FROM orders JOIN customers ON orders.customer_id = customers.id WHERE customers.name LIKE '%Smith%';Questa query recupera gli ordini per i clienti i cui nomi contengonoSmith.
Negazione con NOT LIKE
- Ricerca di dati che non corrispondono a un pattern specifico
SELECT * FROM emails WHERE address NOT LIKE '%@spam.com';Questa query recupera gli indirizzi email che non terminano con@spam.com.

7. Best practice nell’utilizzo di LIKE
Ci sono alcune considerazioni importanti e best practice da tenere presente quando si utilizza l’operatore LIKE.
- Quando si utilizza l’operatore
LIKE, le prestazioni possono diminuire durante la ricerca in grandi set di dati. In particolare, se si posiziona%all’inizio del modello, gli indici non possono essere usati efficacemente, il che può rendere le query più lente.
Utilizzo di Indici Adeguati
- Per migliorare le prestazioni, considerare la creazione di indici quando necessario.
8. Casi d’Uso Comuni di MySQL LIKE
L’operatore LIKE di MySQL è usato in molti scenari diversi, come i seguenti.
Ricerca Cliente
- Quando si ricerca in base ai nomi dei clienti o agli indirizzi email.
Ricerca Codice Prodotto
- Quando si cercano prodotti in base a una parte del codice prodotto.
9. Riepilogo
L’operatore LIKE è uno strumento potente di corrispondenza di pattern in MySQL. In questo articolo, abbiamo coperto tutto, dalla sintassi di base all’uso avanzato e all’ottimizzazione delle prestazioni. Utilizzate correttamente l’operatore LIKE per cercare e lavorare con il vostro database in modo efficiente.
10. Domande Frequenti
Q1: Qual è la differenza tra LIKE e =?
A1: = è usato per ricerche di corrispondenza esatta, mentre LIKE è usato per corrispondenze parziali e pattern matching.
Q2: LIKE è sensibile al maiuscolo/minuscolo?
A2: Nelle impostazioni predefinite di MySQL, LIKE non è sensibile al maiuscolo/minuscolo. Tuttavia, è possibile renderlo sensibile al caso usando la parola chiave BINARY.
Q3: L’operatore LIKE può essere usato con i numeri?
A3: È fondamentalmente usato per le stringhe, ma può essere utilizzato se i numeri sono memorizzati come stringhe.

