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

原文地址:https://www.cnblogs.com/weaver18/p/8352302.html

时间: 2024-08-02 22:58:33

oracle 如何获取表的主键列名,如何获取表的所有列名的相关文章

给表追加主键-----报错ORA-02437: 无法验证 (DENGCHAO.TEST) - 违反主键

由于 这次 项目 做了 数据库 迁移(从 mysql 转到oracle  用的是navicat) 的工具  所以导致很多主键都丢失了 导致数据库很多 数据的id重复  导致系统修改一条数据的时候 出现很多值相同  郁闷了大半天 然后 打算在plsql中 给现有的某张表  追加主键 教科书形式 如下 /* 1.创建表的同时创建主键约束 (1)无命名 create table student (  studentid int primary key not null,  studentname va

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

Oracle 获取表的主键.外键以及唯一约束条件 Select a.Owner 主键拥有者, a.table_name 主键表, b.Column_Name 主键列, b.Constraint_Name 主键名 From user_Constraints a, user_Cons_Columns b Where a.Constraint_Type = 'P' --P-主键:R-外键:U-唯一约束 and a.Constraint_Name = b.Constraint_Name And a.Ow

Oracle使用游标为所有用户表添加主键语句

应用场合:数据表新增自增一主键能加快数据表的访问速度,而且是整形的索引速度最快.本程序适合在导入Oracle数据库时删除不存在主键的情况下运行. 代码说明:所有的表主键字段名都设置为ID,如果已存在ID字段,则判断是否是整形,如果不是就重命名字段为[表名ID],然后新增ID,如果不存在则直接添加自增一ID的主键 操作说明:打开PQSQL连接数据库后直接执行下面的详细脚本代码运行即可,脚本有风险(会删除原来的索引跟主键约束),请不要轻易在正式运行的数据库上直接执行 --Oracle使用游标为所有用

ORACLE: 查询(看)表的主键、外键、唯一性约束和索引

ORACLE: 查询(看)表的主键.外键.唯一性约束和索引 1.查找表的所有索引(包括索引名,类型,构成列) select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and t.table_name = i.table_name and t.table_name = 表名 2.查找表的主键(包括名称,构成列): select cu.* from user_co

MySQL获取其他表的主键

通常我们在应用中对mysql执行了insert操作后,需要获取插入记录的自增主键.本文将介绍java环境下的4种方法获取insert后的记录主键auto_increment的值: 通过JDBC2.0提供的insertRow()方式 通过JDBC3.0提供的getGeneratedKeys()方式 通过SQL select LAST_INSERT_ID()函数 通过SQL @@IDENTITY 变量 1. 通过JDBC2.0提供的insertRow()方式 自jdbc2.0以来,可以通过下面的方式

获取引用某个主键的所有外键的表

在数据库中, 碰到删除一张表的时候,有时候会提示主键已经被其他表外键引用.不能删除.如果某个主键被引用的次数多了, 删除起来一个一个找的话,还是浪费时间的. 如果使用的是Oracle的数据库, 可以查询Oracle中的 系统表 USER_CONSTRAINTS SELECT * FROM R_CONSTRAINT_NAME WHERE R_CONSTRAINT_NAME = '被引用的主键约束' 扩展一下, 如果还想知道 具体引用表的哪个字段引用了这个主键. SELECT B.TABLE_NAM

Oracle修改一个已经存有数据的表的主键

要修改一个已经存有数据的表的主键,又不想影响原有数据. 通常有如下做法 1.当 主键无命名create table t2 (id integer primary key,status varchar(10),last_modified date default sysdate);select * from t2;查看constraint_nameselect u.constraint_name from user_cons_columns u where u.table_name='T2';根据

Sqlserver获取所有数据库名,表信息,字段信息,主键信息,以及表结构等。[转]

--获取所有数据库名: SELECT name FROM master..sysdatabases WHERE name NOT IN ( 'master', 'model', 'msdb', 'tempdb', 'northwind','pubs' ) --获取某数据库的所有表: SELECT name FROM YiDianTongV2..sysobjects Where xtype='U' ORDER BY name --获取所有表名 --XType='U':表示所有用户表; --XTyp

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

使用sqlalchemy获取到的结果只包含数据,不包含字段,那么我们如何获取到对应字段呢?以及如何获取某张表的主键呢? from sqlalchemy.ext.automap import automap_base from sqlalchemy.orm import sessionmaker from sqlalchemy import MetaData, inspect, create_engine engine = create_engine("postgresql://postgres: