2010-06-09 2 views
1

Хорошо, я пытаюсь написать запрос для отображения всех таблиц, содержащих определенный префикс. Таким образом, любая таблица, которая имеет префикс чат, будет отображаться что-то вроде того, что отображается ниже (но, очевидно, неверно)Поиск MySQL в базе данных (поиск по таблице)

SELECT TABLES LIKE chat_ 

. Я планирую форматирование вывода, поэтому он не будет сырым результатом, и я также понимаю, что «какой идиот будет публиковать имена таблиц публично», и предпринимаются меры безопасности, чтобы предотвратить «случайную» таблицу падения (просто пытаюсь избегайте пламенной войны). Итак, как это достигается?

ответ

0
SHOW TABLES LIKE 'chat_%'; 
+0

Спасибо, я думал, что это, как вы могли бы сделать это. – Nik

3

Вы также можете использовать регулярные выражения, что позволяет немного больше гибкости (хотя снижение производительности):

SHOW TABLES WHERE tables_in_db REGEXP 'chat.*'; 

В этом примере, замените дб с именем базы данных концерна.

0

Вам нужно добавить «в some_db первый» перед тем, как, где ниже

SHOW TABLES in test_server_service where 'table' regexp 't_*'; 
Смежные вопросы