2013-01-12 23 views
1

我如何從數據庫表中找到相似的列名?如何從數據庫表中找到相似的列名?

爲例如

數據庫表

1_1 1_2 1_3 5_6 67 
    | | | | 
    | | | | 

所以,1_1,1_2,1_3,5_6和67是一個數據庫表中的列名。我想只檢索以1(1_1,1_2和1_3)開頭的列名稱。我嘗試了SQL查詢,但它的功效..

SELECT 1 LIKE'%1%'FROM sheet1;

它顯示了這短短的

1 LIKE '%1%' 
     1 
     1 
+0

, 你這樣做是錯的。 –

+0

你能解釋一下你想達到的目標嗎?表設計最有可能具有優化潛力 –

+0

我想檢索基於相似的列名稱的所有列值。 – user1971853

回答

0

文檔的東西找到here

SHOW COLUMNS FROM tbl_name FROM db_name 
LIKE '1%' 

要得到各個欄的內容:

SQL Fiddle

+0

Thankyou @rkp ...但我應該如何列出相應列的內容? – user1971853

+0

增加了sql小提琴示例。 –

0

這可能是有用的給你

SELECT COLUMN_NAME from information_schema.COLUMNS where TABLE_NAME='table' AND TABLE_SCHEMA='database_name' 

INFORMATION_SCHEMA是數據庫中包含所有數據庫的元數據,以便當過你想這樣的數據,你就可以

0

試試這個簡單的消防查詢:如果你想選擇列

SELECT GROUP_CONCAT(COLUMN_NAME) INTO @s 
FROM information_schema.COLUMNS 
WHERE TABLE_SCHEMA = 'database_name' AND TABLE_NAME = 'tableName' AND 
     COLUMN_NAME LIKE '1%'; 

SET @sql = CONCAT('SELECT ', @s, ' FROM tableName'); 
PREPARE stmt FROM @sql; 
EXECUTE stmt; 
DEALLOCATE PREPARE stmt; 
相關問題