Oracle查询表信息(索引,外键,列等)

oracle查询表信息(索引,外键,列等)

oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助:

1、查询出所有的用户表 select * from user_tables 可以查询出所有的用户表

select owner,table_name from all_tables; 查询所有表,包括其他用户表

通过表名过滤需要将字母作如下处理

select * from user_tables where table_name = upper(‘表名‘)

因为无论你建立表的时候表名名字是大写还是小写的,create语句执行通过之后,对应的user_tables表中的table_name字段都会自动变为大写字母,所以必须通过内置函数upper将字符串转化为大写字母进行查询,否则,即使建表语句执行通过之后,通过上面的查询语句仍然查询不到对应的记录。

2、查询出用户所有表的索引 select * from user_indexes

3、查询用户表的索引(非聚集索引): select * from user_indexes where uniqueness=‘NONUNIQUE‘

4、查询用户表的主键(聚集索引): select * from user_indexes where uniqueness=‘UNIQUE‘

5、查询表的索引 select t.*,i.index_type from user_ind_columns t,user_indexes i where t.index_name = i.index_name and

t.table_name=‘NODE‘

6、查询表的主键 select cu.* from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and

au.constraint_type = ‘P‘ AND cu.table_name = ‘NODE‘

7、查找表的唯一性约束(包括名称,构成列):

select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name=au.constraint_name andcu.table_name=‘NODE‘

8、查找表的外键 select * from user_constraints c where c.constraint_type = ‘R‘ and c.table_name=‘STAFFPOSITION‘

查询外键约束的列名: select * from user_cons_columns cl where cl.constraint_name = 外键名称

查询引用表的键的列名: select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名

9、查询表的所有列及其属性

方法一:

select * from user_tab_columns where table_name=upper(‘表名‘);

方法二:

select cname,coltype,width from col where tname=upper(‘表名‘);;

10.查询一个用户中存在的过程和函数

select object_name,created,status from user_objects where lower(object_type) in (‘procedure‘,‘function‘);

11.查询其它角色表的权限 select * from role_tab_privs ;

查看索引个数和类别

select * from user_indexes where table_name=‘表名‘ ;

查看索引被索引的字段

SQL>select * from user_ind_columns where index_name=upper(‘&index_name‘);

PS:

查看某表的约束条件

SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper(‘&table_name‘);

SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper(‘&table_owner‘) and c.table_name = upper(‘&table_name‘) and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position;

查看视图的名称

SQL>select view_name from user_views;

Oracle查询表信息(索引,外键,列等)

时间: 2024-08-05 02:49:53

Oracle查询表信息(索引,外键,列等)的相关文章

检查外键列是否是索引列的两个语句

本文摘自<oracle 索引技术> 第37页和第38页 检查外键列是否是索引列的语句之一: select distinct a.owner  owner, a.constraint_name cons_name, a.table_name tab_name, b.column_name  cons_column, nvl(c.column_name,'***Check index***') ind_column from dba_constraints a,      dba_cons_col

PowerDesigner删除外键关系,而不删除外键列[转]

PowerDesigner中配置外键关系时,如果要删除配置的外键关系,默认设置会一同删除外键列. 要更改此设置,需在菜单栏tools中打开Model Options,在Model Settings中点击Reference, 然后把"Auto-migrate columns"这个checkbox的勾去掉即可.

MySQL-5-唯一索引-外键的变种

唯一索引 唯一索引 联合唯一索引 外键的变种 博客园 FK不能去重,一个用户只有一个博客园 原文地址:https://www.cnblogs.com/c-x-m/p/9061546.html

sql 语句系列(列举非索引外键)[八百章之第九章]

列举非索引外键 列举出那些外键没有添加索引. 目的: 1.减少锁. 2.外键添加索引,提示了查询性能,因为要与父表做连接查询做笛卡尔积. 下面只要会复制即可,没有会去从新写一遍的. select fkeys.table_name,fkeys.constraint_name,fkeys.column_name,ind_cols.index_name from ( select a.object_id,d.column_id,a.name table_name,b.name constraint_n

oracle中查询所有外键引用到某张表的记录

其实查找这篇文章  我主要用的sql 是这句  select * from user_cons_columns t where t.constraint_name like 'FK_CTS_CONT_REINS__CRR'; 起因: 系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错.比如警员信息,在考勤记录表里会引用警员ID,如果考勤记录表中已经存在这个警员ID了,这时从警员表中删除该警员,就会引起数据不一致,前台报错.所以,这个时候我就想查找数据库中

总结: MySQL(基础,字段约束,索引,外键,存储过程,事务)操作语法

1. 显示数据库列表 show databases; # 查看当前所有数据库 show databases \G   #以行的方式显示 2. 在命令行中,执行sql语句 mysql -e 'show databases' -uroot -p123456 mysqlshow -uroot -p123456 # 不常用,记住上面那个就行了 3.创建数据库语法 create database 数据库名; 例如: create database `HA-test`; 4. 切换数据库 use HA-te

2-16 MySQL字段约束-索引-外键

一:字段修饰符 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id int not null,name varchar(8) not null,pass varchar(20) not null); mysql> insert into worker values(1,'HA','123456'); mysql> insert into worker values(1,'LB',null); ERROR 1048 (2

2-13-MySQL字段约束-索引-外键

高版本导出报错问题,是由于高版本对导出文件优化了权限设置, show variables like '%secure%';查看权限是NULL就代表禁止导出 在配置文件my.cnf [mysqld]下加secure_file_priv=指定导出目录 本节所讲内容: 1.  字段修饰符 2.  清空表记录 3.  索引 4.  外键 5.     视图 一:字段修饰符 (约束) 1:null和not null修饰符 我们通过这个例子来看看 mysql> create table worker(id

oracle主从表主外键对应关系

一.首先让我们来了解下什么是主外键? 1.主键:唯一标识数据表中的某一行 1) 一个表中只能有一个主键.如果在其他字段上建立主键,则原来的主键就会取消.在ACCESS中,虽然主键不是必需的,但最好为每个表都设置一个主键. 2)主键的值不可重复,也不可为空(NULL).主关键字是可选的,并且可在 CREATE TABLE 或 ALTER TABLE 语句中定义. 3)主键的创建:在建置新表格时设定主键的方式 MySQL:  CREATE TABLE Customer (SID integer,La