目的:通过SQL进行查看表结构,因为使用PL/SQL连接工具,连接到公司的数据库上经常断开。故改为使用Navicat连接数据库,个人觉得这个查看表结构很困难。

查看表结构和约束精简

-- 查询指定表的结构
WITH tmp AS (
SELECT
table_name,
comments
FROM
user_tab_comments
WHERE
table_name = "UPPER" ('table_name')
)
select
table_name column_name, -- 其实是表名
comments data_type, -- 其实是备注信息
'' nullbale,
'表,非列' comments
FROM
tmp
UNION ALL
SELECT
t1.column_name,
t1.data_type,
t1.nullable,
t2.comments
FROM
(
(
SELECT
column_name,
data_type || '(' || data_length || ')' data_type,
nullable
FROM
user_tab_columns
WHERE
table_name = (
SELECT
tmp.table_name
FROM
tmp
)
ORDER BY
column_id
) t1
LEFT JOIN (
SELECT
column_name,
comments
FROM
user_col_comments
WHERE
table_name = (
SELECT
tmp.table_name
FROM
tmp
)
) t2 ON t1.column_name = t2.column_name
);
-- 查询表的约束
select * from USER_CONSTRAINTS where table_name = UPPER ('table_name')

其他一些相关的SQL比较杂乱

-- 查询表
-- 查询当前用户的所有表
select * from user_tables;
-- 查询所有用户的表
select * from all_tables;
-- 包括系统表
select * from dba_tables; -- 获取表字段 all_tab_columns dba_tab_columns;
select * from user_tab_columns; -- 获取表注释
select * from user_tab_comments;
-- 查看表字段约束
select * from USER_CONSTRAINTS where table_name = UPPER ('table_name')
-- C (check constraint on a table) C 表示 CHECK 约束。
-- P (primary key) P 表示主键
-- U (unique key) U 表示唯一
-- R (referential integrity) P 表示引用(外键)
-- V (with check option, on a view)
-- O (with read only, on a view) -- 获取字段注释
select * from user_col_comments; -- 查看指定用户表的表备注以及字段以及备注
SELECT
comments
FROM
user_tab_comments
WHERE
table_name = "UPPER" ('table_name'); -- 指定用户表字段
SELECT
column_name,
data_type || '(' || data_length || ')' data_type,
nullable
FROM
user_tab_columns
WHERE
table_name = UPPER ('table_name')
ORDER BY
column_id; select * from user_col_comments where table_name = UPPER ('table_name')

Oracle查看表结构的更多相关文章

  1. Oracle查看表结构的方法【我】

    Oracle查看表结构的方法   方法一: 在命令窗口下输入   DESC table_name;  回车       方法二: 在sql窗口下   SELECT DBMS_METADATA.GET_ ...

  2. ORACLE 查看表结构

    select table_name from user_tables; //当前用户的表 select table_name from all_tables; //所有用户的表 select tabl ...

  3. Oracle查看表结构的几种方法

    1,DESCRIBE 命令 使用方法如下: SQL> describe nchar_tst(nchar_tst为表名) 显示的结果如下:  名称                         ...

  4. Oracle查看表结构的几种方法(转后加工)

    1. DESCRIBE 命令使用方法如下:SQL> describe WX_ADVANCEUP (WX_ADVANCEUP为表名)显示的结果如下: 名称                     ...

  5. oracle 查看表结构语句

    desc + 表名 describe命令 列出指定表的列定义,视图或同义词,或指定函数或存储过程的详述. 语法:desc[ribe]   {[模式.]对象[@链接串]} 模式 表示对象驻留的架构.如果 ...

  6. Oracle 查看表结构视图

    -- 创建视图 CREATE VIEW VIEW_TABLEASSELECT A.TABLE_NAME, A.column_name 字段名,A.data_type 数据类型,A.data_lengt ...

  7. oracle查看表结构命令desc

  8. 查看表结构命令(mysql和oracle)

    MySQL查看表结构SQL语句 = mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; ...

  9. MySQL 查看表结构

    mysql查看表结构命令,如下: desc 表名; show columns from 表名; describe 表名; show create table 表名; use information_s ...

随机推荐

  1. SpringBoot系列——Jackson序列化

    前言 Spring Boot提供了与三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的默认库. 官网介绍: https://docs.spring.io/spr ...

  2. Eureka+SpringBoot2.X版本实现优雅停服

    在客户端添加如下配置 pom依赖 actuator.jar包 <dependency> <groupId>org.springframework.cloud</group ...

  3. Toggle the WinForms Ribbon Interface 切换 WinForms 功能区界面

    In this lesson, you will learn how to enable/disable the Ribbon User Interface in your application. ...

  4. 性能调优 -- Java编程中的性能优化

    String作为我们使用最频繁的一种对象类型,其性能问题是最容易被忽略的.作为Java中重要的数据类型,是内存中占据空间比较大的一个对象.如何高效地使用字符串,可以帮助我们提升系统的整体性能. 现在, ...

  5. Cesium专栏-卫星轨迹

    Cesium Cesium 是一款面向三维地球和地图的,世界级的JavaScript开源产品.它提供了基于JavaScript语言的开发包,方便用户快速搭建一款零插件的虚拟地球Web应用,并在性能,精 ...

  6. Android 程序分析环境搭建-动态分析环境搭建

    静态查看过app 的代码,但是有些app 非常复杂,页面好多,你根本找不到从何处下手.还有app 通过静态分析,发现有被加固(后续会讲如何砸壳),根本找不到,还有即便你搜索app界面上的文字,你也搜索 ...

  7. LeetCode刷题191126

    博主渣渣一枚,刷刷leetcode给自己瞅瞅,大神们由更好方法还望不吝赐教.题目及解法来自于力扣(LeetCode),传送门. 今天状态不好,划水第二天. 算法: 题号:20 给定一个只包括 '(', ...

  8. IDEA编译报错Error:java: Compilation failed: internal java compiler error

    根据报错可以知道是编译某个模块报错, 接下来就是检查这个模块的编译版本 解决办法很简单:File-->Setting...-->Build,Execution,Deployment--&g ...

  9. python与数据库交互的模块pymysql

    一.Mysql 1.前提 pip install pymysql import pymysql 2.详情 Connection对象 =====>用于连接数据库 用于建立与数据库的连接 创建对象: ...

  10. Mac-无法进入mysql,你这样做就对了

    mysql -uroot -p 输入密码之后报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwo ...