2016-07-26 28 views
-1

是否可以用SHOW COLUMNS查詢的結果做些什麼?使用SHOW COLUMNS結果做些什麼?

例如,將結果行添加到某個選擇表中?

下不起作用:

SELECT * FROM (SHOW COLUMNS FROM MyTable) 

UPDATE

所以,SHOW COLUMNS這本身就是一個東西嗎?

+1

請舉例說明您的使用案例。目前尚不清楚。 – 1000111

回答

1

您無法使用SHOW COLUMNS AFAIK處理數據,它會顯示有關列的信息。數據類型等

您可以使用像這樣的語法工作的數據。

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA='YourDatabase' AND TABLE_NAME='table';; 
+0

是否有任何理由無法使用'SHOW TABLES'或者這只是糟糕的設計? – Dims

+0

@Dims「糟糕的設計」會讓RDBMS允許在數據和表示/實現細節之間進行隱式轉換。此外,定義「與...合作」。你究竟在做什麼? –

2

要檢索列信息,如SQL,你可以操縱結果集,使用方法:

SELECT * 
FROM INFORMATION_SCHEMA.COLUMNS 
WHERE TABLE_SCHEMA='database-name' AND TABLE_NAME='table-name'; 

你可以做的SHOW語句的結果的東西,但沒有使用SQL。 SHOW語句不是ANSI SQL的一部分,它們是MySQL中的擴展。請注意0​​文檔中的這條評論:

許多MySQL API(例如PHP)使您可以像從SELECT中得到結果集那樣處理從SHOW語句返回的結果;有關更多信息,請參閱第25章,連接器和API或您的API文檔。

另外,您可以在SQL中使用INFORMATION_SCHEMA數據庫中表的查詢結果來處理結果,但您無法輕鬆使用SHOW語句的結果。請參閱第22章INFORMATION_SCHEMA表。

SHOW語句更適合數據庫管理員快速檢索有關數據庫結構的元數據。這就是說,'內在'我會假設它查詢INFORMATION_SCHEMA.COLUMNS但格式輸出更容易閱讀。