2012-08-13 11 views
7

Sto provando a selezionare le tabelle in un database mysql che ha lo stesso finale, ad es. staff_name, manager_name, customer_name (esempio). Stavo pensando a qualcosa sulla falsariga di quanto segue perché funziona se ho un nome preciso per la tabella.mysql cerca segmento di nome tabella

SELECT * FROM "%_name"; 

Ho anche provato questo utilizzando un% anziché il _ senza fortuna. Non sono sicuro se ci sono altri caratteri jolly che potrei provare. Mi sono guardato intorno, ma nessuno dei risultati sembra applicarsi a parti di nomi di tabelle:/Qualche suggerimento?

risposta

28
SELECT TABLE_NAME 
FROM INFORMATION_SCHEMA.TABLES 
WHERE TABLE_NAME like '%_name' 
and TABLE_SCHEMA = 'your_db_name' 

Se si desidera cercare tabelle del DB corrente si può fare

SHOW TABLES LIKE '%_name' 
+4

È anche possibile fare 'show TABELLE COME "% _nome" ', che è leggermente più corto. –

+0

Woo! Funziona come un fascino, muchos gracias amigo! : D – dgBP

+0

@Schuller che è ancora meglio, grazie! È collegato al database in cui mi trovo ed è più veloce :) :) – dgBP

0

si può fare in 3 vie

show tables like '%yourtablename' 
show tables like '%yourtablename%' 

show tables like 'yourtablename%' 
Problemi correlati