扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
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)换成星号,就可以查询表空间下的所有表名信息等。
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;
这个事情简单:
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值';
获取表字段:
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列。
*/
查看一个表对应的主键和外键的约束关系:
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);
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流