Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

select
       a.TABLE_NAME as "TableName",
       case when (select count(*) from user_views v where v.VIEW_NAME =a.TABLE_NAME )>0 then ‘V‘ else ‘U‘end as "TableType",
       a.COLUMN_NAME as "ColumnName",
       A.COLUMN_ID as "ColumnIndex",
       a.DATA_TYPE as "DataType",
       case
         when a.DATA_TYPE = ‘NUMBER‘ then
           case when a.Data_Precision is null then
             a.Data_Length
             else
               a.Data_Precision
               end
         else
          a.Data_Length
       end as "Length",
       case when a.nullable = ‘N‘ then  ‘0‘ else ‘1‘ end as "IsNullable",
       b.comments as "Description",
       case
          when (select count(*) from user_cons_columns c
            where c.table_name=a.TABLE_NAME and c.column_name=a.COLUMN_NAME and c.constraint_name=
                (select d.constraint_name from user_constraints d where d.table_name=c.table_name and d.constraint_type   =‘P‘)
                 )>0 then ‘1‘ else ‘0‘end as "IsPK"

  from USER_TAB_COLS a,
       sys.user_col_comments b
 where a.table_name = b.table_name
       and b.COLUMN_NAME = a.COLUMN_NAME
       order by a.TABLE_NAME, a.COLUMN_ID

Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键

时间: 2024-10-22 04:34:34

Oracle获取表结构信息:表名、是否视图、字段名、类型、长度、非空、主键的相关文章

hive表信息查询:查看表结构、表操作等--转

原文地址:http://www.aboutyun.com/forum.PHP?mod=viewthread&tid=8590&highlight=Hive 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表? 1.hive模糊搜索表  show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show p

从oracle数据库导出数据(表结构,表数据,视图,存储过程,序列)

package com.ahzysoft.export; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.PrintStream; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java

hive表信息查询:查看表结构、表操作等

转自网友的,主要是自己备份下 有时候不记得! 问题导读:1.如何查看hive表结构?2.如何查看表结构信息?3.如何查看分区信息?4.哪个命令可以模糊搜索表 1.hive模糊搜索表 show tables like '*name*'; 2.查看表结构信息  desc formatted table_name;  desc table_name; 3.查看分区信息  show partitions table_name; 4.根据分区查询数据  select table_coulm from ta

使用文档对象在页面上创建学生信息表。 信息表包括学号、姓名、性别、电子邮件、联系电话、个人主页和联系地址, 信息表内容通过表单输入,提交前先使用正则表达式进行验证,联系地址不能超过20个字符, 每输入一名学生的信息,提交后,表格增加一行,表格不能被选择、复制。

<!DOCTYPE html><html>    <head>        <meta charset="UTF-8">        <title></title>    </head>    <!--        描述:使用文档对象在页面上创建学生信息表.        信息表包括学号.姓名.性别.电子邮件.联系电话.个人主页和联系地址,        信息表内容通过表单输入,提交前先使用

oracle表结构和表内容差异比对

oracle表结构和表内容差异比对 oracle中有三种集合操作,他们会把左边和右边的select 结果集进行集合操作. union 并集 intersect 交集 minus 差集 假设有如下两张表 STUDENT_A 和 STUDENT_B create table STUDENT_A ( id VARCHAR2(36) not null, name VARCHAR2(100), age NUMBER, sex VARCHAR2(2) ); insert into STUDENT_A (id

Oracle中复制表结构和表数据

Oracle中复制表结构和表数据 1. 复制表结构及其数据(目标表不存在): create table table_name_new as select * from table_name_old; 2. 只复制表结构(目标表不存在,加入一个永远不可能成立的条件.): create table table_name_new as select * from table_name_old where 1=2; 3. 只复制表数据(目标表已经存在): 如果两个表结构一样: insert into t

mysql导出/导入表结构以及表数据

导出: 命令行下具体用法如下:  mysqldump -u用戶名 -p密码 -d 数据库名 表名 脚本名; 1.导出数据库为dbname的表结构(其中用戶名为root,密码为dbpasswd,生成的脚本名为db.sql)    mysqldump -uroot -pdbpasswd -d dbname >db.sql; 2.导出数据库为dbname某张表(test)结构    mysqldump -uroot -pdbpasswd -d dbname test>db.sql; 3.导出数据库为

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等)

Java 通过JDBC查询数据库表结构(字段名称,类型,长度等) 发布者:唛唛家的豆子 时间:2012-11-20 17:54:02 在JDBCPreparedStatement.executeQuery().getMetaData();后,我们可以通过ResultSetMetaData对象查询返回结果集的源数据信息,也就是表结构信息. 示例代码如下: package astar.sutil.db; import java.sql.Connection; import java.sql.Driv

SQL复制表结构或表数据

需求: 软件开发过程中,一般会部署两个数据库:一个测试数据库提供给开发和测试过程使用:一个运维数据库提供上线使用.当需求变化需增加表时,会遇到数据库表结构或表数据同步的问题,这时就要复制表结构或表数据. 两种情形: 一.两个数据库部署在同一服务器上: 从数据库A复制到B: 复制表结构和数据:select * into  数据库B.dbo.Department from 数据库A.dbo.Department 只复制表结构:  select * into  数据库B.dbo.Department