自学内容网 自学内容网

【Oracle】相关查询记录


-- Oracle数据库中,您可以使用以下SQL查询来查找所有用户表的名称:
SELECT * FROM user_tables;

SELECT * FROM user_tables
where TABLE_NAME like '%\_TAB' ESCAPE '\';


-- 如果您想要查询整个数据库中所有用户可访问的表(包括其他用户的表),可以使用:
SELECT table_name FROM all_tables;

-- 如果您有足够的权限并且想要查询数据库中所有的表,包括系统表和用户定义的表,可以使用:
SELECT table_name FROM dba_tables;


-- 在Oracle数据库中,您可以使用以下SQL查询来查找特定表的外键信息:
SELECT a.constraint_name, a.table_name, a.column_name, a.position,
       c_pk.table_name AS pk_table_name, c_pk.constraint_name AS pk_constraint_name
FROM all_cons_columns a
JOIN all_constraints c ON a.owner = c.owner
                        AND a.constraint_name = c.constraint_name
JOIN all_constraints c_pk ON c.r_owner = c_pk.owner
                           AND c.r_constraint_name = c_pk.constraint_name
WHERE c.constraint_type = 'R'
AND a.table_name = '您的表名' -- 替换为你的表名,不包括单引号
AND a.owner = '您的用户名'; -- 替换为你的用户名或schema,不包括单引号

-- 查找表的外键(包括名称,引用表的表名和对应的键名,下面是分成多步查询):
select * 
from user_constraints c 
where c.constraint_type = 'R' 
        and c.table_name = '要查询的表';
    
select * 
from user_constraints c 
where c.constraint_type = 'R' 
    and TABLE_NAME like '%\_TAB' ESCAPE '\';

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


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

-- 查询表的所有列及其属性:
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 = '要查询的表'


原文地址:https://blog.csdn.net/st780206/article/details/142847887

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!