2012-08-13 25 views
7

Estoy tratando de seleccionar tablas en una base de datos mysql que tienen la misma terminación, p. staff_name, manager_name, customer_name (ejemplo). Estaba pensando en algo parecido a lo siguiente porque funciona si tengo un nombre de tabla definido.búsqueda de mysql para el segmento del nombre de tabla

SELECT * FROM "%_name"; 

También probé esto usando un% en vez del _ sin suerte. No estoy seguro de si hay otros comodines que pueda probar. Miré alrededor, pero ninguno de los resultados parece aplicarse a partes de los nombres de las tablas:/¿Alguna sugerencia?

Respuesta

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

Si desea buscar tablas en su base de datos actual se puede hacer

SHOW TABLES LIKE '%_name' 
+4

También se puede hacer SHOW TABLAS COMO "% _name" ', que es un poco más corto. –

+0

¡Woo! Funciona como un amuleto, muchos gracias amigo! : D – dgBP

+0

@Schuller que es aún mejor gracias! Está relacionado con la base de datos en la que estoy y es más rápido :) :) – dgBP

0

que puede hacer en 3 vías

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

show tables like 'yourtablename%' 
Cuestiones relacionadas