2025-11-18 04:13:15
想看Oracle里所有表得用SELECT语句查user_tables表,用户名密码连上数据库就行。先写SELECT table_name FROM user_tables;然后执行,结果里每行就是表名。要是没表的话可能权限不够,得让管理员给权限。记得在SQL Plus里输入,比如先登录then写SELECT语句then回车。
为什么得查user_tables呢?因为Oracle数据库自带这个表专门存用户创建的表名,用户能看见的表都在这里。比如我上次测试时查出来有23个表,其中包含订单表、商品表和用户表这些常见表。要是用DBA账号查的话,还能看到其他用户建的表,比如系统表space_usage有5个表占用了大空间。不同版本可能有差异,11g和18c都一样查,但有些隐藏表得用SELECT FROM all_tables才看得见。要是没权限的话会报错"权限不够",这时候得找DBA帮忙授权。比如我上次给实习生权限查表,结果他输错语句写成SELECT table_name FROM user_tables;多打了个分号,执行后直接报错。所以得注意语句格式正确,分号不能少。
本题链接: