1. INFORMATION_SCHEMA.COLUMNS
INFORMATION_SCHEMA是每个MySQL实例中的数据库,该实例存储有关MySQL服务器维护的所有其他数据库的信息。
如查询某一个表的字段信息:
SELECT * FROM information_schema.COLUMNS WHERE TABLE_NAME = 'crm_user'
还可以通过INFORMATION_SCHEMA. TABLES获取表信息,INFORMATION_SCHEMA. TABLE_CONSTRAINTS获取索引信息等。
2. SHOW COLUMNS FROM tbl_name [FROM ds_name]
如获取某一个表的字段信息:
SHOW COLUMNS FROM ds_enum FROM booklnbak
还可以通过SHOW INDEX FROM tbl_name [FROM db_name] 列出表的索引信息等。
该方式和上述方式的最大区别是上述方式查询的信息更多并且能够选择查询我们需要的信息。
3. 通过ResultSetMetaData对象
通过ResultSetMetaData对象可以获取有关ResultSet对象中列的类型和属性的信息
getColumnName(int columnIndex) | 检索指定列的名称 |
getColumnType(int columnIndex) | 检索存储在指定列中的SQL类型的类型代码(java.sql.Types之一)。 |
基本操作:
1) 获取数据库连接connection
2) 通过connection.createStatement()创建Statement对象
3) 执行SQL语句获得ResultSet 对象
4) 通过ResultSet 对象的getMetaData()获取ResultSetMetaData对象
5) 调用ResultSetMetaData对象的相关方法获取列和类型和属性信息
在实际开发中,便可根据业务需求选择相应的方法来进行开发!