MySQL数据库查询字段属性(即表结构)的SQL语句怎么写?

我在写一个Java Web程序,要从MySQL数据库mydb的某数据表mytable中获取该表的字段的所有信息(即表结构),并且返回结果集(ResultSet)。
代码类似于下面的格式:
——————————————————————————————————————————————
List<TableStructForm> list = new ArrayList<TableStructForm>();

……
//数据库连接的代码略

String sql = "XXX";
ResultSet rs = statement.executeQuery(sql);

while (rs.next()) {
String fieldName = rs.getString(1);
String fieldType = rs.getString(2);
String isPrimaryKey = rs.getString(3);
……
//比如还可以有字段的其他属性

TableStructForm form = new TbNameForm();

form.setfieldName(fieldName);
form.setfieldType(fieldType);
form.setisPrimaryKey(isPrimaryKey);
……

list.add(form);
}

return list;
——————————————————————————————————————————————
请问这里的String sql = "XXX";具体怎么写,才能获取到所有字段的所有属性,并能通过结果集返回?

第1个回答  2013-09-06
DESC mydb.mytable ;这样可以不?
更详细的,可以用SHOW FULL COLUMNS FROM mydb.mytable ;本回答被提问者采纳
第2个回答  推荐于2018-02-12
SHOW FULL COLUMNS FROM mydb.mytable ;

修改库名和 表名本回答被网友采纳
第3个回答  2013-09-06
string sql
sql = "SELECT * FROM 表格名 [WHERE (可选,加一些限定 比如ID>10)]"
你想问的是这个么?追问

不是!
你说的是普通的读取的表中的记录,即表中的数据;
我要的不是普通的数据记录,是表结构,即字段信息!

第4个回答  2013-09-06
DESC mytable;追问

具体一点可以么?(数据库名mydb,数据表名mytable!)

追答

SQL语句就是这个。
数据库连接里写数据库名。

相似回答