select a.constraint_name, a.column_name from user_cons_columns a, user_constraints b where a.constraint_name = b.constraint_name and b.constraint_type = ‘P‘ and a.table_name = ‘AA‘-------大写 查看AA表的主键约束名称,以及主键约束的字段名称。 如果没有,则返回空
oracle 中查看一张表是否有主键,主键在哪个字段上的语句怎么查如要查aa表,
标签:
小编还为您整理了以下内容,可能对您也有帮助:
oracle 中查看一张表是否有主键,主键在哪个字段上的语句怎么查如要查aa表,请写两句分别回答
select a.constraint_name, a.column_name
from user_cons_columns a, user_constraints b
where a.constraint_name = b.constraint_name
and b.constraint_type = 'P'
and a.table_name = 'AA'-------大写
查看AA表的主键约束名称,以及主键约束的字段名称。
如果没有,则返回空
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_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'P' and au.table_name = 要查询的表
3、查找表的唯一性约束(包括名称,构成列):
select column_name from user_cons_columns cu, user_constraints au where cu.constraint_name = au.constraint_name and au.constraint_type = 'U' and au.table_name = 要查询的表
4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * from user_constraints c where c.constraint_type = 'R' and c.table_name = 要查询的表
查询外键约束的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键名称
查询引用表的键的列名:
select * from user_cons_columns cl where cl.constraint_name = 外键引用表的键名
5、查询表的所有列及其属性
select t.*,c.COMMENTS from user_tab_columns t,user_col_comments c where t.table_name = c.table_name and t.column_name = c.column_name and t.table_name = 要查询的表
6、Oracle中每个用户表的表名和行数
select table_name,num_rows from user_tables;
7、Oracle查询用户表空间:select * from user_all_tables
8、Oracle查询所有函数和储存过程:select * from user_source
9、Oracle查询所有用户:
select * from all_users;
select * from dba_users
10、Oracle查看当前用户连接:select * from v$Session
11、Oracle查看当前用户权限:select * from session_privs
12、Oracle查看用户表空间使用情况:
select a.file_id "FileNo",a.tablespace_name
"Tablespace_name",
a.bytes "Bytes",a.bytes-sum(nvl(b.bytes,0)) "Used",
sum(nvl(b.bytes,0)) "Free",
sum(nvl(b.bytes,0))/a.bytes*100 "%free"
from dba_data_files a, dba_free_space b
where a.file_id=b.file_id(+)
group by a.tablespace_name ,
a.file_id,a.bytes order by a.tablespace_name;
在oracle数据库中怎么通过sql语句查询一个表的Primary Key
可以通过”dba_constraints “表中的信息来查看
sql:select t.* from dba_constraints t where t .constraint_type='P' and t.table_name='tablename';
解释:读取dba_constraints 表中字段"键类型"为“P”(必须大写)和字段"表名"为“tablename”的主键的信息。
oracle怎么查询所有的表?有没有主键?
1、查找表的所有索引(包括索引名,类型,构成列):x0dx0ax0dx0aselectt.*,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查询的表x0dx0ax0dx0a2、查找表的主键(包括名称,构成列):x0dx0ax0dx0aselectcu.*fromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='P'andau.table_name=要查询的表x0dx0ax0dx0a3、查找表的唯一性约束(包括名称,构成列):x0dx0ax0dx0aselectcolumn_namefromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='U'andau.table_name=要查询的表x0dx0ax0dx0a4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):x0dx0ax0dx0aselect*fromuser_constraintscwherec.constraint_type='R'andc.table_name=要查询的表x0dx0ax0dx0a查询外键约束的列名:x0dx0ax0dx0aselect*fromuser_cons_columnsclwherecl.constraint_name=外键名称x0dx0ax0dx0a查询引用表的键的列名:x0dx0ax0dx0aselect*fromuser_cons_columnsclwherecl.constraint_name=外键引用表的键名x0dx0ax0dx0a5、查询表的所有列及其属性x0dx0ax0dx0aselectt.*,c.COMMENTSfromuser_tab_columnst,user_col_commentscwheret.table_name=c.table_nameandt.column_name=c.column_nameandt.table_name=要查询的表x0dx0ax0dx0a6、Oracle中每个用户表的表名和行数x0dx0aselecttable_name,num_rowsfromuser_tables;x0dx0ax0dx0a7、Oracle查询用户表空间:select*fromuser_all_tablesx0dx0ax0dx0a8、Oracle查询所有函数和储存过程:select*fromuser_sourcex0dx0ax0dx0a9、Oracle查询所有用户:x0dx0aselect*fromall_users;x0dx0aselect*fromdba_usersx0dx0ax0dx0a10、Oracle查看当前用户连接:select*fromv$Sessionx0dx0ax0dx0a11、Oracle查看当前用户权限:select*fromsession_privsx0dx0ax0dx0a12、Oracle查看用户表空间使用情况:x0dx0ax0dx0aselecta.file_id"FileNo",a.tablespace_namex0dx0ax0dx0a"Tablespace_name",x0dx0ax0dx0aa.bytes"Bytes",a.bytes-sum(nvl(b.bytes,0))"Used",x0dx0ax0dx0asum(nvl(b.bytes,0))"Free",x0dx0ax0dx0asum(nvl(b.bytes,0))/a.bytes*100"%free"x0dx0ax0dx0afromdba_data_filesa,dba_free_spacebx0dx0ax0dx0awherea.file_id=b.file_id(+)x0dx0ax0dx0agroupbya.tablespace_name,x0dx0ax0dx0aa.file_id,a.bytesorderbya.tablespace_name;