簡單的問題:如何返回MySQL表的字段類型。我知道describe
或show column
但我只想返回該單一參數。例如:如何從MySQL查詢返回字段類型?
SELECT fieldtype(mycol) FROM mytable
# should return INT or integer for example
簡單的問題:如何返回MySQL表的字段類型。我知道describe
或show column
但我只想返回該單一參數。例如:如何從MySQL查詢返回字段類型?
SELECT fieldtype(mycol) FROM mytable
# should return INT or integer for example
您可以使用
SHOW FIELDS
FROM tableName where Field ='nameOfField'
這將返回導致格式
Field Type Null Key Default Extra
在MYSQL中這個返回基本上與描述一樣... – 2011-02-23 19:33:53
這不會僅返回字段類型。有沒有辦法從結果集中選擇'Type'列?這個解決方案對我來說看起來並不明顯(沒有任何SQL對我來說顯而易見)。 – chadoh 2013-01-24 16:06:40
您可以從INFORMATION_SCHEMA數據庫得到這樣的:
select data_type
from information_schema.columns
where table_schema = 'myschema'
and table_name = 'mytable'
and column_name = 'mycol'
我知道我有點晚了派對。您可能想要使用COLUMN_TYPE而不是DATA_TYPE。它提供了關於類型的更多信息(如精度)。
SELECT COLUMN_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_NAME = 'parts'
AND COLUMN_NAME = 'price'
... ...產量
decimal(11,2)
下面的語法也適用,使用說明,表名後進入COLUMNNAME:
describe tbleName columnName;
ResultSet rs = Sstatement.executeQuery("SELECT * FROM Table Name");
ResultSetMetaData rsMetaData = rs.getMetaData();
int numberOfColumns = rsMetaData.getColumnCount();
System.out.println("resultSet MetaData column Count=" + numberOfColumns);
for (int i = 1; i <= numberOfColumns; i++) {
System.out.println("column number " + i);
System.out.println(rsMetaData.getColumnTypeName(i));
}
如果有人試圖獲得類似於標題ask的'query'類型,這可能並不簡單。但爲你的查詢創建一個視圖可以讓你回到舊的'DESC table' ;-) – 2015-02-02 15:23:38