oracle 如何获取表的主键列名,如何获取表的所有列名

Posted weaver18

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 如何获取表的主键列名,如何获取表的所有列名相关的知识,希望对你有一定的参考价值。

获取表的主键列名 SQL

技术分享图片 select   *   from   user_cons_columns   
技术分享图片  where   constraint_name   =   (select   constraint_name   from   user_constraints   
技术分享图片              where   table_name   =   ‘BST_FAVORITE‘  and   constraint_type   =‘P‘);   

记住:表名要大写
执行试试,该表所有主键都查出来了,主键列名就在第四列

获取表的所有列名 SQL

技术分享图片select * from table_name where rownum=1


这条sql语句相信大家都知道什么意思.

用jdbc编程查主键列名,可以通过以上第一条语句来查询.
还有一种方法可以查询表的主键列名,是使用jdbc编程方式,代码如下:

技术分享图片DatabaseMetaData dbmd=  conn.getMetaData();   
技术分享图片rs = dbmd.getPrimaryKeys(null,null,tableName.toUpperCase());    //要将表名转为大写才能正确取出主键来
技术分享图片            
技术分享图片while   (rs.next()) {
技术分享图片columnName=rs.getString(4);
技术分享图片System.out.println(columnName);
技术分享图片}

用jdbc获取表的所有列名,也可以通过以上第二条sql语句来获取,具体代码如下:

技术分享图片String sql="select * from table_name where rownum=1";
技术分享图片stm=conn.createStatement();
技术分享图片            rs=stm.executeQuery(sql);
技术分享图片            rs.next();
技术分享图片            
技术分享图片            ResultSetMetaData metadata=rs.getMetaData();
技术分享图片            for(int i=1;i<=metadata.getColumnCount();i++) {
技术分享图片                System.out.println(metadata.getColumnName(i));            }


















以上是关于oracle 如何获取表的主键列名,如何获取表的所有列名的主要内容,如果未能解决你的问题,请参考以下文章

如何从 JAVA 中的 ResultSet 或 ResultSetMetaData 对象中获取数据库表的主键的列名?

获取列名包含大写字符的表的主键时,Jooq 的值无效

Oracle 获取表的主键外键以及唯一约束条件

如何获取 JDBC 中所有表的主键?

如何在 C# 中获取 Ms Access 表的主键

如何使用sqlalchemy获取表的主键以及每一个字段名