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));            }

 

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值