如何从MySQL查询返回字段类型?
简单的问题:如何返回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