java 获取oracle表结构_获取Oracle中所有表的列表?

回答(19)

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

我们可以从以下查询获取所有表格,包括列详细信息:

SELECT * FROM user_tab_columns;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

使用sqlplus更好地查看

如果您正在使用 sqlplus ,您可能需要首先设置一些参数以便在您的列被破坏时更好地查看(退出 sqlplus 会话后这些变量不应该保留):

set colsep '|'

set linesize 167

set pagesize 30

set pagesize 1000

显示所有表格

然后,您可以使用这样的内容来查看所有表名:

SELECT table_name, owner, tablespace_name FROM all_tables;

显示您自己的表格

正如@Justin Cave所提到的,您可以使用它来显示您拥有的表格:

SELECT table_name FROM user_tables;

不要忘记视图

请记住,某些“表”实际上可能是“视图”,因此您也可以尝试运行以下内容:

SELECT view_name FROM all_views;

结果

这应该产生看起来相当可接受的东西,如:

581fd090-8526-4c09-a6f3-dfadc62e7f6d.png

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

尝试以下数据字典视图 .

tabs

dba_tables

all_tables

user_tables

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

为此存在3个数据

DBA_TABLES describes all relational tables in the database.

SELECT owner, table_name

FROM dba_tables

Description of relational tables accessible to the user

SELECT owner, table_name

FROM all_tables

USER_TABLES 描述了当前用户拥有的关系表 . 此视图不显示 OWNER 列 .

SELECT table_name

FROM user_tables

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

下面是一个注释的SQL查询片段,描述了您可以使用的选项:

-- need to have select catalog role

SELECT * FROM dba_tables;

-- to see tables of your schema

SELECT * FROM user_tables;

-- tables inside your schema and tables of other schema which you possess select grants on

SELECT * FROM all_tables;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

您可以使用Oracle Data Dictionary获取有关oracle对象的信息 .

您可以通过不同方式获取表的列表:

select *

from dba_tables

或者例如:

select *

from dba_objects

where object_type = 'TABLE'

然后,您可以使用表名获取表列:

select *

from dba_tab_columns

然后,您可以获得依赖项列表(触发器,视图等):

select *

from dba_dependencies

where referenced_type='TABLE' and referenced_name=:t_name

然后你可以得到这个对象的文本来源:

select * from dba_source

如果需要,您可以使用 USER 或 ALL 视图而不是 DBA .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

SELECT owner, table_name

FROM dba_tables

这假设您可以访问 DBA_TABLES 数据字典视图 . 如果您没有这些权限但需要它们,则可以请求DBA明确授予您对该表的权限,或者DBA授予您 SELECT ANY DICTIONARY 权限或 SELECT_CATALOG_ROLE 角色(其中任何一个都允许您查询任何数据)字典表) . 当然,您可能希望排除某些模式,例如 SYS 和 SYSTEM ,这些模式具有您可能不关心的大量Oracle表 .

或者,如果您无权访问 DBA_TABLES ,则可以通过 ALL_TABLES 视图查看您的帐户有权访问的所有表格:

SELECT owner, table_name

FROM all_tables

虽然,这可能是数据库中可用表的子集( ALL_TABLES 显示了您的用户被授予访问权限的所有表的信息) .

如果您只关心您拥有的表,而不是您有权访问的表,则可以使用 USER_TABLES :

SELECT table_name

FROM user_tables

由于 USER_TABLES 仅包含您拥有的表的信息,因此它没有 OWNER 列 - 根据定义,所有者就是您 .

Oracle还有许多遗留数据字典视图 - 例如 TAB , DICT , TABS 和 CAT --可以使用 . 一般情况下,我不建议使用这些遗留视图,除非您绝对需要将脚本反向移植到Oracle 6. Oracle长时间没有更改这些视图,因此它们经常遇到新类型对象的问题 . 例如, TAB 和 CAT 视图都显示有关用户回收站中的表的信息,而 [DBA|ALL|USER]_TABLES 视图都会过滤掉这些表 . CAT 还显示有关具有 TABLE_TYPE "TABLE"的物化视图日志的信息,这不太可能是您真正想要的 . DICT 结合了表和同义词,并没有告诉你谁拥有该对象 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

select object_name from user_objects where object_type='TABLE';

要么 - - - - - - - - -

select * from tab;

要么 - - - - - - - - -

select table_name from user_tables;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

我希望获得属于按列id顺序排序的模式表的所有列名称的列表 .

这是我正在使用的查询: -

SELECT COLUMN_NAME

FROM ALL_TAB_COLUMNS

WHERE OWNER = 'schema_owner_username' AND TABLE_NAME='table_name'

ORDER BY COLUMN_ID ASC;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

有了这些,你可以选择:

SELECT DISTINCT OWNER, OBJECT_NAME

FROM DBA_OBJECTS

WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME';

SELECT DISTINCT OWNER, OBJECT_NAME

FROM ALL_OBJECTS

WHERE OBJECT_TYPE = 'TABLE' AND OWNER='SOME_SCHEMA_NAME';

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

查询 user_tables 和 dba_tables 无法正常工作 .

这个做了:

select table_name from all_tables

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

更进一步,还有另一个名为cols(all_tab_columns)的视图,可用于确定哪些表包含给定的列名 .

例如:

SELECT table_name, column_name

FROM cols

WHERE table_name LIKE 'EST%'

AND column_name LIKE '%CALLREF%';

查找名称以EST开头的所有表和名称中包含CALLREF的列 .

在计算要加入的列时,这可能会有所帮助,例如,取决于您的表和列命名约定 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

我没有找到可以指出使用的答案

DBA_ALL_TABLES (ALL_ALL_TABLES/USER_ALL_TABLES)

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

包括观点:

SELECT owner, table_name as table_view

FROM dba_tables

UNION ALL

SELECT owner, view_name as table_view

FROM DBA_VIEWS

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

尝试从user_tables中选择,其中列出了当前用户拥有的表 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

select * from dba_tables

仅当您登录的用户具有 sysdba 权限时,才会提供所有用户的所有表 .

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

以下查询仅列出所需数据,而其他答案给了我额外的数据,这只会让我困惑 .

select table_name from user_tables;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

简单查询为当前用户选择表:

SELECT table_name FROM user_tables;

e15298c6a3b4591803e154ab0c3b3e2e.png

2 years ago

Oracle数据库使用以下查询显示所有表的名称

SELECT owner, table_name FROM dba_tables;

SELECT owner, table_name FROM all_tables;

SELECT table_name FROM user_tables;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/552523.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java后台处理excel_java后台利用Apache poi 生成excel文档提供前台下载示例

之前在项目中会用到在java在后台把数据填入Word文档的模板来提供前台下载,为了自己能随时查看当时的实现方案及方便他人学习我写了这篇博客,访问量已经是我写的博客里第一了。于是乎我在学会用Java在后台利用Apache poi 生成excel文档提供前台下载之后就…

java向有序数组里插数_Java向有序数组中插入一个元素,,使其仍按有序排列,并求出这个插入元素的下标...

/*** * create time [2014-4-13]*/public class Test{public static void main(String args[]){//原有序数组,这里约定数组是升序排列int[] intArray new int[]{1,2,4,6,7,9};int toInsert 8;//待插入数据int subscript 0;//下标//确定下标位置if(toInsert {subscript 0;}e…

php 删除文件夹及文件夹,php删除一个路径下的所有文件夹和文件的方法

php遍历一个文件夹内的所有文件和文件夹,并删除所有文件夹和子文件夹下的所有文件的代码,通过递归方式实现达到清空一个目录的效果,代码简单实用。也适合在thinkphp中清理缓存,在thinkphp中可以把下面代码写入./Application/Admin…

PHP制作订货,PHP生成订单号的两种方法

在开发项目的时候经常有生成订单号的需求&#xff0c;这里列出两种生成20位订单号的常用方法。方法一&#xff1a;以下代码是14位当前时间加6位随机数&#xff0c;如果增减位数&#xff0c;只需修改末尾的数字6即可。<?php Function build_order_no(){return date(YmdHis).…

php 分类排序,php将地区分类排序的算法

php将地区分类排序的算法介绍&#xff0c;有需要的朋友可以参考下。写一个函数&#xff0c;用来存储地区数据&#xff1a;复制代码 代码如下:$array array(0>array("","河北"),1>array("","北京"),2>array(0,"保定&quo…

js读写php文件,在js中如何读取本地文件

下面我就为大家分享一篇js读取本地文件的实例&#xff0c;具有很好的参考价值&#xff0c;希望对大家有所帮助。如何用在浏览器端预览本地文件&#xff1f;今天的主题是使用浏览器预览本地文件。由于浏览器安全策略的限制&#xff0c;javascript程序不能自由地访问本地资源&…

php mvc教程 文档,PHP培训教程教你快速打造PHP MVC框架[PHP基础教程]

PHP培训教程教你快速打造PHP MVC框架[PHP基础教程]简介MVC框架在现在的开发中相当流行&#xff0c;不论你使用的是JAVA,C#,PHP或者IOS&#xff0c;你肯定都会选择一款框架。虽然不能保证100%的开发语言都会使用框架&#xff0c;但是在PHP社区当中拥有最多数量的MVC框架。今天你…

java分页代码思路,记录--java 分页 思路 (hibernate关键代码)

有时会脑袋蒙圈&#xff0c;记录下分页的思路下面代码是hibernate的分页&#xff0c;其分页就是从第几条数据为起点&#xff0c;取几条数据。比如在mysql中的limit(5,10)取的就是第6条到第10条在下面代码中的page是页数、size是每页多少条数据String hql"from User";…

php查看运行时间和内存,php 统计时间和内存的使用情况

跳至/*** 记录和统计时间(微秒)和内存使用情况* 使用方法:** G(begin); // 记录开始标记位* // ... 区间运行代码* G(end); // 记录结束标签位* echo G(begin,end,6); // 统计区间运行时间 精确到小数后6位* echo G(begin,end,m); // 统计区间内存使用情况* 如果end标记位没有定…

宝塔php漏洞,[安全预警]关于最近宝塔闹得很厉害的PMA漏洞BUG

文章前言在2020年8月23日的下午有个憨憨管理在我群艾特全员 说宝塔爆出漏洞了赶快更新吧&#xff01;影响机器需同时满足以下所有条件1、软件版本为Linux面板7.4.2 或者Windows面板6.8.02、开放888且未配置http认证&#xff0c;3、安装了phpmyadmin&#xff0c;mysql数据库不受…

求十个学生的平均成绩java,JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。...

JAVA 声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。mip版 关注:116 答案:3 悬赏:30解决时间 2021-01-26 06:39已解决2021-01-25 17:54声明一个数组,存一个学生的五门成绩。求该学生的总成绩、平均成绩。JAVA知识最佳答案2021-01-25 18:12public class S…

php伪静态限制网页播放视频,学习猿地-php伪静态后html不能访问怎么办

php伪静态后html不能访问的解决办法&#xff1a;首先判断文件是否存在&#xff1b;然后设置存在则不rewirte&#xff0c;不存在且符合规则才rewrite&#xff1b;最后修改htaccess文件即可。具体问题&#xff1a;PHP伪静态后不能访问纯html文件.htaccess文件RewriteEngine onRew…

oracle binary_integer pls_integer,oracle中binaryinteger与plsinteger的区别

oracle中binaryinteger与plsinteger的区别 Oracle 中 Binary_Integer 与 Pls_Integer 的区别Binary_Integer 与 Pls_Integer 都是整型类型. Binary_Integer 类型变量值计算是由 Oracle 来执行&#xff0c;不会出现溢出&#xff0c;但是执行速度较慢&#xff0c;因为它是由 Orac…

梁单元分析matlab,[FEM][有限元][编程][Matlab][Code by myself] 2D Timoshenko梁单元

(有空和小伙伴一起写写有限元程序)程序作者 ( Author )JiDong Cui (崔济东)1, XueLong Shen (沈雪龙)21.广州容柏生建筑结构设计事务所&#xff1b;2.华南理工大学建筑设计研究院基本概念 ( Concept )欧拉梁单元基于一定的假设(Kirchhoff假设)&#xff0c;在梁的高度远小于其跨…

oracle保存type类型,oracle type类型

--创建类型说明***********************************************************create or replace type dept_type as object(--成员变量h_deptno number(2),h_dname varchar2(14),h_loc varchar2(13),--成员函数、过程member procedure changedept(name in varchar2,loc in var…

Oracle函数的信息,Oracle中获取会话信息的两个函数分享

1、 USERENV(OPTION)  返回当前的会话信息.OPTION‘ISDBA‘若当前是DBA角色,则为TRUE,否则FALSE.OPTION‘LANGUAGE‘返回数据库的字符集.OPTION‘SESSIONID‘为当前会话标识符.OPTION‘ENTRYID‘返回可审计的会话标识符.OPTION‘LANG‘返回会话语言名称的ISO简记.OPTION‘INS…

oracle分组后伪列,Oracle伪列和伪表和分组函数(row_number,Rank)

oracle的伪列以及伪表oracle系统为了实现完整的关系数据库功能&#xff0c;系统专门提供了一组成为伪列(Pseudocolumn)的数据库列&#xff0c;这些列不是在建立对象时由我们完成的&#xff0c;而是在我们建立时由Oracle完成的。Oracle目前有以下伪列&#xff1a;一、伪列&#…

linux内核分为四个子系统,linux操作系统的内核有哪几个子系统构成,简要说明各子系统的作用...

Linux是一个一体化内核(monolithic kernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统&#xff0c;或是GNU/Linux。设备驱动程序可以完全访问硬…

linux运行搜狗拼音,Linux 搜狗输入法的安装(Ubuntu版)

1、首先从搜狗官网下载搜狗输入法Linux版本的安装包2、按ctrl alt T 打开Linux终端3、安装搜狗输入法&#xff1a; sudo dkpg -i xxx.deb, 如果报错&#xff0c;主要是由于两个原因&#xff1a;a、权限不够&#xff0c;可以通过获取root权限&#xff0c;命令‘su’&#xff1b;…

2023年腾讯云轻量应用服务器测评2核2G4M带宽

腾讯云轻量应用服务器测评2核2G4M带宽88元一年&#xff0c;2核CPU、2G内存、3M带宽&#xff0c;腾讯云轻量应用服务器&#xff08;Tencent Cloud Lighthouse&#xff09;是一款开箱即用的云服务器产品&#xff0c;面向轻量应用场景&#xff0c;旨在为中小企业和开发者提供便捷高…