- 1 1. Panoramica di MySQL LIKE
- 2 2. Sintassi di base di MySQL LIKE
- 3 3. Caratteri jolly usati con LIKE
- 4 4. Tecniche di corrispondenza di pattern
- 5 5. Escape dei caratteri speciali in LIKE
- 6 6. Utilizzi avanzati di LIKE
- 7 7. Buone pratiche per l’uso di LIKE
- 8 8. Utilizzi comuni di MySQL LIKE
- 9 9. Riepilogo
- 10 10. Domande frequenti
1. Panoramica di MySQL LIKE
L’operatore MySQL LIKE è usato per cercare dati in un database che corrispondono a un modello specifico. LIKE viene utilizzato nella clausola SQL WHERE e consente di impostare condizioni di ricerca basate su parte o sull’intera stringa. Per esempio, è utile per trovare “nomi che iniziano con una certa lettera” o “codici prodotto che contengono caratteri specifici”.
Utilizzi dell’operatore LIKE
- Ricerche di corrispondenza parziale
- Ricerche di modelli specifici
- Filtraggio dei dati
Poiché questo operatore è specializzato nella corrispondenza di pattern, è essenziale per cercare e manipolare i dati in modo efficiente 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 è spesso usato insieme ai caratteri jolly come % e _ per consentire ricerche più flessibili.
3. Caratteri jolly usati con LIKE
L’operatore LIKE utilizza i caratteri jolly per definire i pattern di ricerca. MySQL supporta due principali caratteri jolly:
Caratter jolly %
- Corrisponde a qualsiasi sequenza di caratteri (inclusi zero caratteri)
SELECT * FROM users WHERE email LIKE '%@example.com';Questo esempio recupera tutti gli indirizzi email che terminano con@example.com.
Carattere jolly _
- Corrisponde a un singolo carattere
SELECT * FROM products WHERE product_code LIKE '_A%';Questo esempio recupera tutti i codici prodotto in cui il secondo carattere èA.
Utilizzando i caratteri jolly in modo appropriato, è possibile filtrare i dati nel database in modo efficiente.
4. Tecniche di corrispondenza di pattern
L’uso dell’operatore LIKE con i caratteri jolly consente diverse metodologie di corrispondenza di pattern.
Inizia con
- Ricerca di dati dove una stringa inizia con un pattern specifico
SELECT * FROM customers WHERE name LIKE 'John%';Questo trova tutti i nomi dei clienti che iniziano conJohn.
Finisce con
- Ricerca di dati dove una stringa termina con un pattern specifico
SELECT * FROM files WHERE filename LIKE '%.pdf';Questo trova tutti i nomi file che terminano con.pdf.
Contiene
- Ricerca di dati che contengono un pattern specifico
SELECT * FROM documents WHERE content LIKE '%MySQL%';Questo trova tutti i documenti che contengono la stringaMySQL.
5. Escape dei caratteri speciali in LIKE
Nell’operatore LIKE, % e _ hanno significati speciali come caratteri jolly. Per cercarli come caratteri normali, è necessario utilizzare un carattere di escape.
Come fare l’escape
- Esempio di ricerca con un carattere di escape
SELECT * FROM filenames WHERE filename LIKE 'file_%' ESCAPE '';Questa query cerca tutti i nomi file che iniziano confile_. Normalmente,_è trattato come jolly, ma usando un carattere di escape, viene trattato come un carattere normale.
6. Utilizzi avanzati di LIKE
L’operatore LIKE può essere combinato con altre istruzioni SQL per 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 dei 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';Questo recupera tutti gli indirizzi email che non terminano con@spam.com.

7. Buone pratiche per l’uso di LIKE
Ci sono diversi punti da tenere a mente e buone pratiche quando si utilizza l’operatore LIKE.
Impatto sulle prestazioni
- L’uso dell’operatore
LIKEsu grandi set di dati può rallentare le prestazioni. In particolare, iniziare un pattern con%impedisce l’uso degli indici, il che può far eseguire le query più lentamente.
Utilizzo di indici appropriati
- Considerare la creazione di indici quando necessario per migliorare le prestazioni.
8. Utilizzi comuni di MySQL LIKE
L’operatore MySQL LIKE è utilizzato in una varietà di scenari, come ad esempio:
Ricerca clienti
- 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 per il pattern matching in MySQL. Questo articolo ha coperto tutto, dalla sintassi di base all’uso avanzato e all’ottimizzazione delle prestazioni. Utilizza l’operatore LIKE in modo efficace per ricerche e manipolazioni efficienti del database.
10. Domande frequenti
Q1: Qual è la differenza tra LIKE e =?
A1: = è usato per corrispondenze esatte, mentre LIKE è usato per corrispondenze parziali e per il pattern matching.
Q2: LIKE è sensibile al maiuscolo/minuscolo?
A2: Per impostazione predefinita, 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: Generalmente è usato con le stringhe, ma può essere utilizzato con i numeri se questi sono memorizzati come stringhe.


