2013-11-25 33 views
0

我想使用此查詢MySql的節目表查詢

show tables LIKE 'table1%' 

它的正常工作,但在同一表我有一個版本表中的一些列空的所謂的「選擇在我的數據庫中的表名table1_blank」。當我使用上面的語句時,我得到了以table1開頭的每個表格,包括「空白」,如何從選擇中排除「table1_blank」?

謝謝。

回答

0

您可以使用where條件SHOW TABLES使用multiple like clauses:LIKE'

SHOW TABLES 
FROM `dbname` 
WHERE `Tables_In_dbname` LIKE 'table1%' 
    AND `Tables_In_dbname` NOT LIKE 'table1\_%'; 
+0

謝謝。它仍然返回table1和table1_blank,但我用它與Junnsu Heo使用information_schema選擇表的另一種方式,它工作。 – crimson

+0

嗯,我將不得不看到已經運行的查詢。我創建了兩個名爲table1和table1_blank的表來測試它。 – matth

0

'_'具有特殊含義。 「任何一個人物的,所以你需要改變這樣的..

EDITED

SELECT TABLE_NAME 
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = 'your database name' 
    AND TABLE_NAME LIKE 'table1%' 
    AND TABLE_NAME NOT LIKE 'table1\_%'; 
+1

節目表table1 \ _%'這隻給我table1_blank。 – crimson

+0

@crimson oops。我誤解了你的問題。 –