How do you get a table that starts with an underscore?
This works for getting all tables that start with a capital T:
SHOW TABLES LIKE 'T%'
This doesn't work (returns all tables):
SHOW TABLES LIKE '_%'
As the underscore is a wildcard, you need to escape it to match the underscore itself:
SHOW TABLES LIKE '\_%'
From MySQL.com - 3.3.4.7 Pattern Matching:
SQL pattern matching enables you to use “_” to match any single character and “%” to match an arbitrary number of characters (including zero characters)
The underscore is a wildcard in sql LIKE statements and stand for 1 of any character :)
Use like SHOW TABLES LIKE '___ADMIN'
to get anything like SYSADMIN or ORGADMIN but not ADMIN or FOOBARADMIN.
To list all tables that start with an underscore you need to escape it.
SHOW TABLES LIKE '\_%'
This must work:
mysql > SHOW TABLES LIKE '\_%';
Because as the documentation states:
To test for literal instances of a wildcard character, precede it by the escape character. If you do not specify the ESCAPE character, “\” is assumed.