sql >> Base de Datos >  >> RDS >> Mysql

hacer coincidir el nombre de las tablas con mostrar tablas

Es posible, pero debe saber que el nombre de la columna devuelto de SHOW TABLES la consulta es la concatenación de la cadena tables_in_ y el nombre de su base de datos. Entonces se vería así, para la base de datos test :

SHOW TABLES 
      WHERE tables_in_test NOT LIKE '\_%' 
        AND tables_in_test NOT LIKE '%\_xrefs'

Pero preferiría usar information_schema base de datos para obtener esta información:

SELECT TABLE_NAME 
  FROM information_schema.TABLES
 WHERE TABLE_SCHEMA = SCHEMA() /* = 'test'*/
   AND TABLE_NAME NOT LIKE '\_%'
   AND TABLE_NAME NOT LIKE '%\_xrefs'