SQL查询表名、列名、列属性

Oracle:

1.查询表名:

  select table_name,tablespace_name,temporary from user_tables //在所有非管理员创建的表中查询

‍      select table_name,tablespace_name,temporary from dba_tables //在所有管理员创建的表中查询

‍      select table_name,tablespace_name,temporary from all_tables //在所有表中查询

select table_name,tablespace_name,temporary from all_tables where table_name='表名' //在所有表中查询指定表

select table_name,tablespace_name,temporary from all_tables where lespace_name='表空间名' //在所有表中查询属性指定表空间的表

  其中:table_name:表名(varchar2(30));

  tablespace_name:存储表名的表空间(varchar2(30));

  temporary:能无法 为暂时表(varchar2(1))。

  eg: select table_name,tablespace_name,temporary from user_tables where table_name='TEST_TEMP';

  结果:

  --------------------------------------------------------------------------------

  table_name tablespace_name temporary

  TEST_TEMP SDMP N

  --------------------------------------------------------------------------------

  注:表名变量值必须大写。

  2.查询表列名:

  复制代码 代码如下:

‍     SELECT COLUMN_NAME FROM USER_TAB_COLUMNS WHERE TABLE_NAME = '表名' ORDER BY COLUMN_ID

SELECT COLUMN_NAME FROM DBA_TAB_COLUMNS WHERE TABLE_NAME = '表名' ORDER BY COLUMN_ID

‍     SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = '表名' ORDER BY COLUMN_ID

  select column_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where table_name='表名';

  其中:column_name:列名(varchar2(30));

  data_type:列的数据类型(varchar2(106));

  data_length:列的长度(number);

  eg:select column_name,data_type ,data_length,data_precision,data_scale from user_tab_columns where table_name='TEST_TEMP';

结果:

column_name data_type data_length data_precision data_scale

  ID NUMBER 22 0

  NAME NVARCHAR2 20

  SEX CHAR 1

  GRADE NVARCHAR2 10

  --------------------------------------------------------------------------------

  注:表名变量值必须大写。

  另外,也可以 议决 all_tab_columns来获取有关表的数据。

  eg:select * from all_tab_columns where table_name='TEST_TEMP';

sqlserver:

select name from syscolumns where id=object_id('表名')

select count(*) from syscolumns where id=object_id('表名')

--读取库中的所有表名

select name from sysobjects where xtype='u'

--读取指定表的所有列名
select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')
获取数据库表名和字段
sqlserver中各个系统表的作用
    sysaltfiles      主数据库                  保存数据库的文件
syscharsets      主数据库                  字符集与排序顺序
sysconfigures    主数据库                  配置选项
syscurconfigs    主数据库                  当前配置选项
sysdatabases      主数据库                  服务器中的数据库
syslanguages      主数据库                  语言
syslogins        主数据库                  登陆帐号信息
sysoledbusers    主数据库                  链接服务器登陆信息
sysprocesses      主数据库                  进程
sysremotelogins主数据库                  远程登录帐号

syscolumns        每个数据库                列
sysconstrains    每个数据库                限制
sysfilegroups    每个数据库                文件组
sysfiles          每个数据库                文件
sysforeignkeys 每个数据库                外部关键字
sysindexs        每个数据库                索引
sysmenbers        每个数据库                角色成员
sysobjects        每个数据库                所有数据库对象
syspermissions 每个数据库                权限
systypes          每个数据库                用户定义数据类型
sysusers          每个数据库                用户

//
用什么方法可以得到一个表中所有的列名。SQl语句。
select      列名=name      from      syscolumns      where      id=object_id(N'要查的表名')

use gpStrudy
select      name="name"      from      syscolumns      where      id=object_id(N'bookTable')
获得字段的属性
//这是从一段代码中考出来的,使用的是using    System.Data.OleDb; 
    public    int    GetTableFields(String    tableName,out    String[]    fields,out    String[]    fieldTypes) 
    ...{ 
    try 
    ...{ 
    OleDbCommand    dc          =    m_OleDb.CreateCommand();//创建一个执行对象用于执行sql查询 
    dc.CommandText            =    "select    *    from    "    +    tableName; 
    dc.Transaction            =    m_OleTrans; 
   
    OleDbDataReader    dr    =    dc.ExecuteReader();//执行sql查询 
    //获取数据库的架构信息 
    DataTable    schemaTable    =    dr.GetSchemaTable(); 
   
    int    fieldColumnCount    =    0; 
   
    fields    =    new    String[schemaTable.Rows.Count]; 
    fieldTypes    =    new    String[schemaTable.Rows.Count]; 
   
    for(int    i    =    0;i    <    schemaTable.Columns.Count;i++) 
    ...{ 
    if(schemaTable.Columns.ColumnName.IndexOf("ColumnName")    >=    0) 
    ...{ 
    //获取字段名称 
   
    for(int    k    =    0;k    <    schemaTable.Rows.Count;k++) 
    fields[k]    =    schemaTable.Rows[k].ItemArray
.ToString(); 
   
    fieldColumnCount++; 
    if(fieldColumnCount    >=    2) 
    ...{ 
    dr.Close(); 
    dc.Dispose(); 
   
    dr    =    null; 
    dc    =    null; 
    return    schemaTable.Rows.Count; 
    } 
    } 
    else    if(schemaTable.Columns.ColumnName.IndexOf("DataType")    >=    0) 
    ...{ 
    //获取字段类型 
   
    for(int    k    =    0;k    <    schemaTable.Rows.Count;k++) 
    fieldTypes[k]    =    schemaTable.Rows[k].ItemArray
.ToString(); 
   
    fieldColumnCount++; 
    if(fieldColumnCount    >=    2) 
    ...{ 
    dr.Close(); 
    dc.Dispose(); 
   
    dr    =    null; 
    dc    =    null; 
    return    schemaTable.Rows.Count; 
    } 
    } 
   
    } 
   
    dr.Close(); 
    dc.Dispose(); 
   
    dr    =    null; 
    dc    =    null; 
   
    return    0; 
   
    } 
    catch(Exception    ee) 
    ...{ 
    fields            =    new    String[1]; 
    fieldTypes    =    new    String[1]; 
    m_ErrorString    =    "Ado_Application:GetTableFields:error:"    +    ee.Message; 
    return    0; 
    } 
    }

查看当前库中所有表和字段信息

SELECT name FROM sysindexes WHERE indid in( SELECT indid FROM sysindexkeys WHERE id = a.id AND colid=a.colid ))) then 'yes' else 'no' end, 字段类型=b.name, 字段长度=a.length, 字段字符长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'), 小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0), 是否为NULL=case when a.isnullable=1 then 'yes'else 'no' end, 缺省值=isnull(e.text,'')  FROM syscolumns a left join systypes b on a.xtype=b.xusertype inner join sysobjects d on a.id=d.id and (d.xtype='U' or d.xtype='V') and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id where d.name='purchase_medicine' order by a.colorder
//红色部分为限制条件,加上则为查询purchase_medicine这个表,不加的话,就查询所有的表。

sql查询表名、列名、列属性相关推荐

  1. GBase 8a 企业管理器执行 SQL 查询表中 BLOB 列值中文乱 码

    问题现象 使用企业管理器执行 SQL 查询,查询表中 BLOB 列字段值,列值中文乱码. 查询步骤如下: 步骤 1 创建测试表: CREATE TABLE test(a INT,b BLOB); 步骤 ...

  2. SQL查询表中某列字段相同的重复数据

    查询[Name]列相同的数据: select * from [dbo].[HROCDepartment] where Name in (select Name from [dbo].[HROCDepa ...

  3. oracle查看列属性,oracle查询列属性

    oracle 动态查询列,查看oracle数据库的表名和列名,oracle查询列名,oracle查询列属性 oracle 查询动态列,查看oracle数据库的表名和列名,oracle查询列名,orac ...

  4. PL/SQL 中修改数据库中的列属性

    方法一: 鼠标选中表右键 直接(手动)去修改数据库名称,数据库表名称,数据库列名称.列属性 方法二: 使用SQL语句去修改 -- 修改表名 ALTER TABLE tableName RENAME n ...

  5. SSM_Mybatis_Day01(快速入门、映射文件概述、核心配置文件概述、相应API、代理开发方式、映射文件深入、数据类型的映射、列名和属性名不一致的时候的处理)

    SSM_Mybatis_Day01(快速入门.映射文件概述.核心配置文件概述.相应API.代理开发方式.映射文件深入.数据类型的映射.列名和属性名不一致的时候的处理) 1. Mybatis mybat ...

  6. sql 添加列、删除列、修改列属性以及大小

    sql 添加列.删除列.修改列属性以及大小 --删除列 ALTER TABLE 表名 drop column 列名; --添加列 ALTER TABLE 表名 add 列名 VARCHAR(40); ...

  7. SQL语句实现取消自增列属性

    由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现 1.如果仅仅是指定值插入,可用以下语句,临时取消 SET IDENTITY_INSERT TableName ON I ...

  8. mysql 看表字段的备注,使用SQL查询表字段列的备注信息

    使用SQL查询表字段列的备注信息 用下面的视图: SQL> desc user_col_comments; Name                            Null?    Ty ...

  9. Mybatis 动态传sql可以查询表名,任意表名,不固定字段的个数返回未定义的类型以及增删改...

    mysql查询表名: SELECT table_name FROM information_schema.tables WHERE table_schema='sell' AND table_type ...

  10. mysql查询表的列名主键_Oracle中查看所有的表,用户表,列名,主键,外键

    在Oracle中查看所有的表: select * from tab/dba_tables/dba_objects/cat; 看用户建立的表 : select table_name from user_ ...

最新文章

  1. MyEclipse中运行环境jre、编译级别、tomcat运行环境区别
  2. 构建之法课后作业第二次作业第一题
  3. Java企业实训 - 01 - Java前奏
  4. firefox4脚本执行顺序与jquery.globalEval
  5. Java计算一段程序的运行时间
  6. 对称加密-DES加密
  7. CVE-2019-0708复现
  8. 10-多写一个@Autowired导致程序崩了
  9. Linux就该这么学---第七章(LVM逻辑卷管理器)
  10. 使用 ADO.NET 的 NextResult 方法取得多个 Result Set
  11. 计算机刚过国家线能调剂到哪些学校,2020考研:刚过国家线好不好调剂?这4个调剂策略!考生要知道...
  12. 堆栈关系java_从关键字说Java对象、引用、指针、堆栈的关系
  13. 2748: [HAOI2012]音量调节
  14. In Depth和In Action的区别——写在《深入理解C#(第二版)》出版之际
  15. 公司冷备服务器1.100切换到1.99
  16. P1113 杂务 拓扑排序
  17. android sqlite配置,60. (android开发)SQLite作为APP应用的配置打包
  18. 一款好用的绘制组织结构图的软件-亿图组织结构图
  19. Springboot结合ESAPI——配置XSS防御过滤
  20. 简单的Charles抓包ios微信网页

热门文章

  1. 知识图谱 helloword
  2. 【渝粤教育】国家开放大学2018年春季 8635-22T老年人中医体质辨识与养 参考试题
  3. 微信小程序内无法播放第三方服务器上的视频资源
  4. 如何打开.json文件
  5. HEVC/H.265与AVC/H.264对比总结
  6. 利用selenium框架爬取京东省市区数据时,网页里面内嵌的一个窗口遇到的NoSuchElementException的 bug,原因是iframe
  7. 北大光华女的超强面经! 感动之余,真的受益匪浅。
  8. java牛顿法求方程根_牛顿迭代法 求方程根
  9. html5图片高斯模糊,CSS实现图片高斯模糊但边界清楚的效果
  10. 如何利用视频做动图?视频转gif动图