简单问题:如何返回MySQL表的字段类型。我知道describe
或show column
但我只想返回那个参数。 e.g:
SELECT fieldtype(mycol) FROM mytable
# should return INT or integer for example
答案 0 :(得分:19)
您可以使用
SHOW FIELDS
FROM tableName where Field ='nameOfField'
这将返回
格式的结果Field Type Null Key Default Extra
答案 1 :(得分:17)
您可以从information_schema数据库中获取此信息:
select data_type
from information_schema.columns
where table_schema = 'myschema'
and table_name = 'mytable'
and column_name = 'mycol'
答案 2 :(得分:5)
我知道我参加派对有点晚了。您可能希望使用COLUMN_TYPE而不是DATA_TYPE。它提供了有关类型的更多信息(例如精度)。
SELECT COLUMN_TYPE
FROM information_schema.COLUMNS
WHERE TABLE_NAME = 'parts'
AND COLUMN_NAME = 'price'
... ...产量
decimal(11,2)
答案 3 :(得分:1)
以下语法也有效,使用describe,在tableName后输入columnName:
describe tbleName columnName;
答案 4 :(得分:0)
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));
}