oracle里查出某个数据库里的所有表名

2 02 3 年,我的朋友在Oracle数据库中查找表名。
他使用了 SCOTT 用户的权限。
他先检查了所有的表,写了:
select from all_tables WHERE Owner='SCOTT'
然后他想检查数据库中的所有表,发现有一个DBA_TABLES视图,但是需要DBA权限,所以写了:
SELECT FROM DBA_TABLES WHERE。
OWNER='SCOTT'
顺便还提到了几个数据字典视图,比如DBA_TABLES、ALL_TABLES、USER_TABLES。
他们每个人都有许可要求。
DBA_TABLES 需要 DBA 权限。
ALL_TABLES是当前用户的所有表。
USER_TABLES 只显示当前用户的表。

然后,他想再次检查列信息,使用了类似的语句:
SELECT FROM all_tab_columns WHEREowner='SCOTT'

SELECT FROM dba_tab_columns WHEREowner='SCOTT'
还有DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS。
功能和权限与前面的视图相同。

最后他还提到了DBA_OBJECTS、ALL_OBJECTS、USER_OBJECTS,它们也可以查询schema对象信息,包括表,但也有不同的权限要求。
我不太清楚这部分的具体用途,需要再确认一下。

sql查询数据库中有某个值的所有表

直接告诉他们要做什么。

1 .打开 SQL Server Management Studio。
2 . 连接到数据库服务器。
3 . 在查询编辑器中,输入: sql 选择姓名 来自系统表 WHERE type_desc = 'USER_TABLE';
4 .查询指定表名: sql 选择列名 来自 information_schema.columns WHERE table_name = '你的表名';
5 .查询指定表的字段名和类型: sql 选择列名;数据类型 来自 information_schema.columns WHERE table_name = '你的表名';
6 .获取主键字段: sql 选择列名 来自 sys.index_columns WHERE object_id = OBJECT_ID('你的表名'); AND index_id = 1 ;
7 .访问所有类型的数据库: sql 选择名称;输入它。
from sys.types;
完成此操作后,您就完成了。