在ORACLE如何查看自己建立的所有表,而不是系统表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在ORACLE如何查看自己建立的所有表,而不是系统表相关的知识,希望对你有一定的参考价值。

在ORACLE如何查看自己建立的所有表,而不是系统表?1、 在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。
2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到查询不到索引表,需要调整SQL语句,如下图所示。
3、然后,在【SQL工作表】的窗口上,输入查询索引表的SQL语句,可以作为参考,如下图所示。
4、 接着,在【SQL工作表】的窗口上,输查询索引表的SQL语句,并单击【执行】按钮,如下图所示。
5、然后,在【SQL工作表】的窗口上,可以看到SQL语句执行成功的提示信息,查询到用户的索引表中的字段,如下图所示。
6、接着,在【SQL工作表】的窗口上,修改索引表的名称,并单击【执行】按钮,如下图所示。
可以根据表建时间不同,来将你本人建的表和数据库自动建的表分开,虽然他们都是同一个用户建的。
在user_table表里没有建表时间这一字段,可以用user_objects这个表。
数据库系统建的表的时间和oracle发行版本有关,我的10.2.0.10版中这些都是2005-8-30建的,你本人建的表都大于这个时间。或者将范围缩更小些,找你最近两个月、一年建的表
具体的,如
select * from user_objects where object_type='TABLE' and create > sysdate-30;
select * from user_objects where object_type='TABLE' and create> to_date('2005-8-31','yyyy-mm-dd');
参考技术A 实际工作中,在数据库中创建表是经常会用到的。我们今天呢?主要给大家来分享一下在数据库如何通过sql语句去创建表。其实,创建表很简单,只需要把数据库的数据类型和约束搞清楚就可以了,其他的就好说了。接下来呢,开始我的表演。首先,先使用plsql连接到oracle数据库,先保证下面的服务是开启的。

我们本次创建表的需求是:创建一张班级表,和一张学生表。

1.首先班级表作为主表也就是所谓的主键。在主表中我们这里使用的约束是primarykey 和not null (当然不局限于这些)

create table classinfo(
classid number(2) primary key,
classname varchar(10) not null
);
sql解析:

--create table 创建表的关键字

--classinfo 是创建的表的名字

--classid 是班级表的id 数据类型是number(2)类型,我们默认给了2个长度,我们将班级id设置为主键方便其他外键关联

--classname 是班级名字 数据类型是字符型varchar(10),我们给了默认10个字符长度,班级名的约束是不能为空

执行sql语句:

classinfo表创建成功。

2.然后我们建立一个外键,也就是关联到主键的一个表,使用的数据类型和约束请看下面的sql语句。

复制代码
create table studentinfo(
studentid number(2) primary key,
studentname varchar(10) not null,
studentsex char(2) check(studentsex='男' or studentsex='女'),
studentage number(2) not null,
studenttel number(11) unique,
studentaddress varchar(50) default '上海',
classid number(2) references classinfo(classid)
);
复制代码
sql语句解析:

--create table 创建表的关键字

--studentinfo();是创建学生信息表的表名

--studentid(学生id) 约束是主键 primary key

--studentname(学生姓名) 约束是 not null

--studentsex(学生性别) 约束是 check

--studentage(学生年龄) 约束是 not null

--studenttel(学生电话) 约束是 unique

--studentaddress(学生地址) 分别为学生表中的列名。

学生表studentinfo建立完成。

完整的sql语句如下:

复制代码
create table classinfo(
classid number(2) primary key,
classname varchar(10) not null
);

create table studentinfo(
studentid number(2) primary key,
studentname varchar(10) not null,
studentsex char(2) check(studentsex='男' or studentsex='女'),
studentage number(2) not null,
studenttel number(11) unique,
studentaddress varchar(50) default '上海',
classid number(2) references classinfo(classid)
);
复制代码
到此,我们创建的班级表和学生表就演示完了,是不是很简单呢?

《Python自动化测试修炼宝典》线上课程已经成功入驻网易云课堂......

IT测试老兵利用工作之余,亲自录制的《Python自动化测试修炼宝典》线上课程已经成功入驻网易云课堂,想要提高测试技术的小伙伴可以线上购买课程进行学习。

课程背景

测试人员进阶实战课程。本套课程以作者多年测试实战经验为背景,结合大量测试案例深入浅出讲解目前主流web端、app端自动化测试框架以及使用Python如何从0到1实现接口测试框架的搭建。

课程特色

系统教学+实战案例+开放源码。涵盖Python3高级应用、Selenium3、Appium、RobotFramework测试框架、Charles抓包工具、Postman高级实战、HTTP协议等主流测试技术知识体系。通过本套课程可以让测试人员具备独立完成(UI+接口)自动化测试框架开发和设计能力并且可以大大提高测试人员的Python编码能力。

其他服务

课程一次购买,终身有效,课程质量会不断更新升级。购买课程后统一拉到QQ免费VIP答疑群,在学习本套课程过程中有任何问题,都可以随时问讲师并且免费提供远程技术指导帮助。
参考技术B 1、 在计算机中,打开Oracle的连接程序,用新建的数据库管理员,进入【Oracle控制】的窗口上,鼠标左键单击【服务器】按钮,并选择【SQL工作表】,如下图所示。

2、接着,在【Oracle服务器】的窗口上,在输入窗口中输入SQL查询语句,并单击【执行】按钮,可以看到查询不到索引表,需要调整SQL语句,如下图所示。

3、然后,在【SQL工作表】的窗口上,输入查询索引表的SQL语句,可以作为参考,如下图所示。

4、 接着,在【SQL工作表】的窗口上,输查询索引表的SQL语句,并单击【执行】按钮,如下图所示。

5、然后,在【SQL工作表】的窗口上,可以看到SQL语句执行成功的提示信息,查询到用户的索引表中的字段,如下图所示。

6、接着,在【SQL工作表】的窗口上,修改索引表的名称,并单击【执行】按钮,如下图所示。
参考技术C 今天下午,我打开电脑,准备录入这个月的“采三之星”的名单。

想想这是件多么荣幸的'事,可是电脑好像不那么给力,总是不停的显示“电脑已经跑不动了!”旁边还有一个小人在努力跑步的图像。我一怒之下,只好把电脑重新启动了一遍。唉!我又白白浪费了4分钟时间,我连忙打开“数字童年”,用账号密码登录后,开始输入同学们的总分。

等到输入吕舒君的分数时,我才发现那个电脑上的统计表上吕舒君并不是在第五个,而是在倒数第五个。我只能删除了重新来过。可是这时候,电脑突然发出了充电警告,说电脑还剩下2%的电量了,只能再用3分钟了。我连忙找来充电器,接上电源,然后继续全神贯注的输入分数。我只听见我的电脑键盘在“嗒嗒嗒”的响着。就在这时,奶奶在外面催问我:“孙子!你还没打好呐?”我说:“在一小会就好了!”

半晌,奶奶又说:“你都几个一小会儿了?别坐太长时间了!”“哦,我知道了。”我回答道。这时,我加快了速度,手指像弹琴一样,嘴里像小和尚念着经一样不停的念着要输入的数字。随着时间的流逝,又过了三分钟的样子,我终于完成了,我开心极了。

这回我算是真正体会到了时间的流逝和宝贵,我以后会更加抓紧时间,不让时间白白溜走。
参考技术D 查询当前用户的:
SELECT * FROM USER_TABLES;
查询别的用户的(当前用户能访问的别的用户的表):
SELECT * FROM ALL_TABLES WHERE OWNER='user_name';

oracle 创建所有表的同义词

一个数据库中存在多个用户对其操作,zhang,wang,li等,他们建立的表,存储等,前面都有用户名,zhang.emp等字样,如何通过建立同义词使用户名不显示。方便查看。如果用create public synonym p for zhang.emp只能操作一张表,想同时搞定所有的表及存储等对象。有没有其方法呢。

dba_objects 表 自己拼脚本运行就行
比如:
select 'create public synonym '|| SYNONYM_NAME || for '||owner||'.'||object_name from dba_objects
where object_type='TABLE' 追问select ' create public synonym ' || OBJECT_NAME ||' for xxxx||OBJECT_NAME||';' from user_objects where object_type in('TABLE','VIEW','PROCEDURE','TRIGGER','FUNCTION','PACKAGE');
参考技术A dba_objects 表 自己拼脚本运行就行
比如:
select 'create public synonym '|| SYNONYM_NAME || for '||owner||'.'||object_name from dba_objects
where object_type='TABLE'追问

select ' create public synonym ' || OBJECT_NAME ||' for xxxx||OBJECT_NAME||';' from user_objects where object_type in('TABLE','VIEW','PROCEDURE','TRIGGER','FUNCTION','PACKAGE');

给所有的用户,可以for public吗?? xxx=public;
我也试过xxx=zhang 用户名,但没有效果呢

追答

create public synonym 就已经是所有用户了

参考技术B 同义词

以上是关于在ORACLE如何查看自己建立的所有表,而不是系统表的主要内容,如果未能解决你的问题,请参考以下文章

oracle如何查看temp表空间建立在哪个文件上在

oracle 数据库查询用户权限。

oracle 创建所有表的同义词

如何查看oracle 两个表结构是不是相同

ORACLE的Job是不是有日志文件,如果有如何查看ORACLE 的Job的日志?

oracle建立表空间时有必要加logging吗?