10.8
1、返回数据库表中的字段以及所有的数据记录
主要使用了JDBC进行连接,然后获取ResultSet,根据ResultSet.getMetaData获取数据集,得到ResultSetMetaData对象,
获取ResultSet
ResultSet rs=statement.executeQuery(sql);
ResultSet rs=statement.executeQuery(sql);
获取数据集
ResultSetMetaData metaData= rs.getMetaData;
记录的条数rs.next(),也就是是否有下条记录
//rs.next()下一条记录,一行一行的
while(rs.next()){
//获取字段的数量metaData.getColumnCount()
for(int i=0; i<metaData.getColumnCount() ; i++){
String name=metaData.getColumnName(i+1);
String value=rs.getString(name);
}
}
2、查询表的结构
SELECT
col_description (a.attrelid, a.attnum) as comment,
format_type (a.atttypid, a.atttypmod) as type,
a.attname as name,
a.attnotnull as notnull
FROM
pg_class as c,
pg_attribute as a
where
c.relname = '表名'
and a.attrelid = c.oid
and a.attnum > 0
order by a.attname;
查询结果
comment (注释) type(字段类型) name(字段名) notnull(不能为空)
学到的,首先在idea中运行出问题的话,直接把原字符串复制粘贴到Navicat中新建查询,要是出错,肯定是原SQL语句问题。