oracle如何查子表 Oracle 查表

在oracle数据库中如果查询一个数据库中有哪几张表?

1、本文以plsql图形化管理工具为例,使用它连接oracle数据库。当点开plsql的时候,就需要输入用户名、密码、数据库然后连接。如果连接成功,就能查看里面的表等等操作,如果连接不成功,就输入正确的信息再次尝试。

成都网站建设哪家好,找成都创新互联公司!专注于网页设计、成都网站建设、微信开发、小程序开发、集团企业网站制作等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都电动窗帘等众多领域,积累了大量丰富的经验,同时也获得了客户的一致表扬!

2、连接上数据库之后,默认会看到这个主界面。顶部是各种操作菜单,左侧第一个框是最近打开的一些信息,第二个框里面的才是数据库的所有信息。

3、如果不想看到这么多的框,只想专注于数据库的相关信息,就可以将其他框关闭或者隐藏,这两种方式只是点击不同的按钮而已,具体参见截图。

4、在oracle数据库中,用户是属于表空间的,因此,当使用某一个用户登录之后,看到的其实就是这个用户默认的表空间中的信息。这个时候,可以展开【Tables】菜单,就能看到当前表空间下的所有表,如果表的数量不多,就可以直接一个一个的数出数量。

5、如果当前用户具有管理员权限,还可以在【Tablespaces】菜单下面,找到所有的表空间名称,在每个表空间名称下面还有【Tables】菜单,这里面会显示这个表空间下面的所有用户和表。

注意,对于同一个表空间下的相同数据库,在这里会显示每个用户都拥有一套表结构

6、如果想直接获得表空间中的表数量,可以点击左上角的新建图标,选择【SQLWindow】,右侧就会出现一个空白的SQL语句书写窗口

7、获取指定表空间下表数量(这是包含了此表空间下的所有用户的表)

selectcount(1)fromall_tableswheretablespace_name='表空间名称';获取指定表空间下,指定用户的表数量。

selectcount(1)fromall_tableswheretablespace_name='表空间名称'andowner='用户名称';如果将count(1)换成星号,就可以查询表空间下的所有表名信息等。

oracle怎么查询所有的表?有没有主键?

1、查找表的所有索引(包括索引名,类型,构成列):\x0d\x0a\x0d\x0aselectt.*,i.index_typefromuser_ind_columnst,user_indexesiwheret.index_name=i.index_nameandt.table_name=i.table_nameandt.table_name=要查询的表\x0d\x0a\x0d\x0a2、查找表的主键(包括名称,构成列):\x0d\x0a\x0d\x0aselectcu.*fromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='P'andau.table_name=要查询的表\x0d\x0a\x0d\x0a3、查找表的唯一性约束(包括名称,构成列):\x0d\x0a\x0d\x0aselectcolumn_namefromuser_cons_columnscu,user_constraintsauwherecu.constraint_name=au.constraint_nameandau.constraint_type='U'andau.table_name=要查询的表\x0d\x0a\x0d\x0a4、查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):\x0d\x0a\x0d\x0aselect*fromuser_constraintscwherec.constraint_type='R'andc.table_name=要查询的表\x0d\x0a\x0d\x0a查询外键约束的列名:\x0d\x0a\x0d\x0aselect*fromuser_cons_columnsclwherecl.constraint_name=外键名称\x0d\x0a\x0d\x0a查询引用表的键的列名:\x0d\x0a\x0d\x0aselect*fromuser_cons_columnsclwherecl.constraint_name=外键引用表的键名\x0d\x0a\x0d\x0a5、查询表的所有列及其属性\x0d\x0a\x0d\x0aselectt.*,c.COMMENTSfromuser_tab_columnst,user_col_commentscwheret.table_name=c.table_nameandt.column_name=c.column_nameandt.table_name=要查询的表\x0d\x0a\x0d\x0a6、Oracle中每个用户表的表名和行数\x0d\x0aselecttable_name,num_rowsfromuser_tables;\x0d\x0a\x0d\x0a7、Oracle查询用户表空间:select*fromuser_all_tables\x0d\x0a\x0d\x0a8、Oracle查询所有函数和储存过程:select*fromuser_source\x0d\x0a\x0d\x0a9、Oracle查询所有用户:\x0d\x0aselect*fromall_users;\x0d\x0aselect*fromdba_users\x0d\x0a\x0d\x0a10、Oracle查看当前用户连接:select*fromv$Session\x0d\x0a\x0d\x0a11、Oracle查看当前用户权限:select*fromsession_privs\x0d\x0a\x0d\x0a12、Oracle查看用户表空间使用情况:\x0d\x0a\x0d\x0aselecta.file_id"FileNo",a.tablespace_name\x0d\x0a\x0d\x0a"Tablespace_name",\x0d\x0a\x0d\x0aa.bytes"Bytes",a.bytes-sum(nvl(b.bytes,0))"Used",\x0d\x0a\x0d\x0asum(nvl(b.bytes,0))"Free",\x0d\x0a\x0d\x0asum(nvl(b.bytes,0))/a.bytes*100"%free"\x0d\x0a\x0d\x0afromdba_data_filesa,dba_free_spaceb\x0d\x0a\x0d\x0awherea.file_id=b.file_id(+)\x0d\x0a\x0d\x0agroupbya.tablespace_name,\x0d\x0a\x0d\x0aa.file_id,a.bytesorderbya.tablespace_name;

oracle里面查询子表数据和子表的子表的数据

这个事情简单:

select table1.id,table2.id,table3.id,table4.id

from table1,table2,table3,table4

where table4.parentid = table3.id and table3.parentid = table2.id and 

table2.parentid = table1.id  and table1.id = '你已知的ID值';

oracle 查询主表有那些子表

获取表字段:

select *

from user_tab_columns

where Table_Name='用户表'

order by column_name

获取表注释:

select *

from user_tab_comments

where Table_Name='用户表'

order by Table_Name

获取字段注释:

select *

from user_col_comments

where Table_Name='用户表'

order by column_name

/* 获取表:*/

select table_name from user_tables; //当前用户的表

select table_name from all_tables; //所有用户的表

select table_name from dba_tables; //包括系统表

select table_name from dba_tables where owner='zfxfzb'

/*

user_tables:

table_name,tablespace_name,last_analyzed等

dba_tables:

ower,table_name,tablespace_name,last_analyzed等

all_tables:

ower,table_name,tablespace_name,last_analyzed等

all_objects:

ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等

*/

/* 获取表字段:*/

select * from user_tab_columns where Table_Name='用户表';

select * from all_tab_columns where Table_Name='用户表';

select * from dba_tab_columns where Table_Name='用户表';

/* user_tab_columns:

table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

all_tab_columns :

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

dba_tab_columns:

ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等

*/

/* 获取表注释:*/

select * from user_tab_comments

/*

user_tab_comments:table_name,table_type,comments

相应的还有dba_tab_comments,all_tab_comments,这两个比user_tab_comments多了ower列。

*/

/* 获取字段注释:*/

select * from user_col_comments

/*

user_col_comments:table_name,column_name,comments

相应的还有dba_col_comments,all_col_comments,这两个比user_col_comments多了ower列。

*/

oracle查询主表有哪些子表?

查看一个表对应的主键和外键的约束关系:

SELECT * FROM user_constraints t where t.table_name='HORDE'

查看关联HORDE的子表 :

select * from user_constraints where 

R_CONSTRAINT_NAME in (select constraint_name from user_constraints where table_name = 'HORDE') ;

--在多行子查询中使用all操作符

select ename, sal, deptno from emp

where sal  all(select sal from emp where deptno = 30);

--等价于:

select ename, sal, deptno from emp where sal 

(select max(sal) from emp where deptno = 30);

--在多行子查询中使用any操作符

select ename, sal, deptno from emp

where sal  any(select sal from emp where deptno = 30);

--等价于

select ename, sal, deptno from emp where sal 

(select min(sal) from emp where deptno = 30);


分享标题:oracle如何查子表 Oracle 查表
链接URL:http://hbruida.cn/article/hjpigh.html