`

查表的字段名,主键,字段类型

 
阅读更多
一、oracle

1、获取当前oracle数据库中的所有表

select table_name from user_tables

2、查询某个表中的字段名称、类型、精度、长度、是否为空  

select COLUMN_NAME,DATA_TYPE,DATA_PRECISION,DATA_SCALE,NULLABLE    
from user_tab_columns    
where table_name ='YourTableName'  
3、查询某个表中的主键字段名  

select col.column_name    
from user_constraints con,  user_cons_columns col    
where con.constraint_name = col.constraint_name    
and con.constraint_type='P'    
and col.table_name = 'YourTableName'  
4、查询某个表中的外键字段名称、所引用表名、所应用字段名  

select distinct(col.column_name),r.table_name,r.column_name    
from    
user_constraints con,   
user_cons_columns col,    
(select t2.table_name,t2.column_name,t1.r_constraint_name    
from user_constraints t1,user_cons_columns t2    
where t1.r_constraint_name=t2.constraint_name    
and t1.table_name='YourTableName'  
) r    
where con.constraint_name=col.constraint_name    
and con.r_constraint_name=r.r_constraint_name    
and con.table_name='YourTableName' 
5、如何从Oracle中取得表的注释

       user_tab_comments;表注释

        user_col_comments;表字段注释

  以上两个只能获取自己用户的表的注释信息,如果要访问自己

能够访问的其他用户的表,则需要使用:

        all_tab_comments;表注释

        all_col_comments;表字段注释

  当然,如果有DBA权限,则可以使用

        dba_tab_comments;表注释

        dba_col_comments;表字段注释

  dba*和all*最好指定owner条件。user*没有该字段

        user_tab_comments;表注释

        user_col_comments;表字段注释

 

二、SQLServer

1、读取库中的所有表名

  select name from sysobjects where xtype='u' 

2、字段 

SELECT c.name,t.name,c.xprec,c.xscale,c.isnullable    
FROM systypes t,syscolumns c    
WHERE t.xtype=c.xtype    
AND c.id = (SELECT id FROM sysobjects WHERE name='YourTableName')    
ORDER BY c.colid   
3、主键(参考SqlServer系统存储过程sp_pkeys)  

select COLUMN_NAME = convert(sysname,c.name)                  
from                                                          
sysindexes i, syscolumns c, sysobjects o                      
where o.id = object_id('[YourTableName]')                     
and o.id = c.id                                               
and o.id = i.id                                               
and (i.status & 0x800) = 0x800                                
and (c.name = index_col ('[YourTableName]', i.indid,  1) or        
     c.name = index_col ('[YourTableName]', i.indid,  2) or        
     c.name = index_col ('[YourTableName]', i.indid,  3) or        
     c.name = index_col ('[YourTableName]', i.indid,  4) or        
     c.name = index_col ('[YourTableName]', i.indid,  5) or        
     c.name = index_col ('[YourTableName]', i.indid,  6) or        
     c.name = index_col ('[YourTableName]', i.indid,  7) or        
     c.name = index_col ('[YourTableName]', i.indid,  or        
     c.name = index_col ('[YourTableName]', i.indid,  9) or        
     c.name = index_col ('[YourTableName]', i.indid, 10) or        
     c.name = index_col ('[YourTableName]', i.indid, 11) or        
     c.name = index_col ('[YourTableName]', i.indid, 12) or        
     c.name = index_col ('[YourTableName]', i.indid, 13) or        
     c.name = index_col ('[YourTableName]', i.indid, 14) or        
     c.name = index_col ('[YourTableName]', i.indid, 15) or        
     c.name = index_col ('[YourTableName]', i.indid, 16)          
     )   
4、外键  

select t1.name,t2.rtableName,t2.name    
from    
(select col.name, f.constid as temp    
from syscolumns col,sysforeignkeys f    
where f.fkeyid=col.id    
and f.fkey=col.colid    
and f.constid in    
( select distinct(id)     
   from sysobjects    
   where OBJECT_NAME(parent_obj)='YourTableName'    
   and xtype='F'    
  )    
) as t1 ,    
(select OBJECT_NAME(f.rkeyid) as rtableName,col.name, f.constid as temp    
from syscolumns col,sysforeignkeys f    
where f.rkeyid=col.id    
and f.rkey=col.colid    
and f.constid in    
( select distinct(id)    
   from sysobjects    
   where OBJECT_NAME(parent_obj)='YourTableName'    
   and xtype='F'    
)    
) as t2    
where t1.temp=t2.temp
三、Access

1、所有表清单

conn.Open();
    dt= conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
2、表结构

conn.Open();

   dtColumnsInfo = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns, new object[] { null, null, strTableName,null });

分享到:
评论

相关推荐

    SAP方丈-ABAP通过表结构查表字段.doc

    表结构是指 SAP 系统中的数据组织方式,包括表名、字段名、数据类型等信息。通过对表结构的分析,可以了解 SAP 系统中的数据存储方式和数据组织结构。 在 SAP 方丈中,查表字段是指通过 ABAP 语言对表结构中的字段...

    Oracle查询指定表的所有字段名和数据类型SQL

    ### Oracle查询指定表的所有字段名和数据类型SQL 在Oracle数据库管理中,有时我们需要了解某个特定表的所有字段名称以及它们对应的数据类型等信息。这对于理解表结构、进行数据迁移或编写更为精确的SQL语句非常有...

    脚本修改字段名、数据类型

    本文将基于提供的文件信息,深入探讨如何使用SQL脚本来修改数据库中的表字段名、数据类型以及字段是否允许为空的属性。这是一项关键技能,对于维护和优化数据库系统的效率与功能性至关重要。 ### SQL修改字段名 在...

    易语言ADO修改字段名

    本篇将深入探讨易语言如何利用ADO(ActiveX Data Objects)来修改数据库字段名,以及相关知识点。 ADO是微软公司开发的一种数据访问接口,它允许程序员通过OLE DB协议与各种不同的数据源进行交互。在易语言中,我们...

    易语言自动生成字段名源码

    3. **数据库知识**:理解数据库表结构和字段概念,包括数据类型、主键、外键等,是生成字段名的基础。源码可能根据这些信息来生成有意义的名称。 4. **算法设计**:自动生成字段名可能涉及一些简单的算法,如根据...

    java如何获得数据库表中各字段的字段名

    ### Java如何获得数据库表中各字段的字段名 在Java编程中,经常需要与数据库进行交互,例如查询、更新或删除等操作。其中一项常见需求是获取数据库表中的所有字段名称。这通常在动态生成报表或者需要根据数据库结构...

    修改表 1、添加字段: alter table 表名add column 字段名 数据类型 位置 ; 2、删除字段: a

    本文将详细阐述如何使用`ALTER TABLE`来执行各种操作,包括添加字段、删除字段、修改字段、改变字段数据类型、更改表引擎、重命名表、移动表至其他数据库、添加和删除主键、外键以及索引。 1. **添加字段**: 使用...

    金蝶k3数据字典表名和字段名说明标准供应链.zip

    金蝶k3标准供应链数据字典表名和字段名说明

    Oracle_Mysql_Sqlserver字段类型转换参考

    Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_Mysql_Sqlserver字段类型转换参考Oracle_...

    ABAP JSON 字段名映射 name_mappings 大写 小写 驼峰.txt

    ABAP JSON 字段名映射 name_mappings支持字段名大写,小写,驼峰等。 完整代码,可以直接运行。

    ArcGIS不提供修改字段名称和类型的功能的原因及解决方法

    在ArcGIS Desktop中,用户有时会遇到需要修改字段名称或调整字段显示顺序的情况。然而,直到ArcGIS 10.1版本之前,系统并不直接支持字段名称的修改,导致用户不得不通过删除旧字段并添加新字段的方式来实现这一目标...

    数据表信息查看字段名程序

    开发程序时经常用到表的字段、字段名组合等,在数据库中操作常常不便,开发了这个来复制...字段类型:SQL_Code:35,SQL_MainCode:35,SQL_MainNo:1,SQL_No:1,SQL_Fh:35,SQ_Time:11,SQ_DateTime:12 字段数:33 数据数:650

    matlab开发-以递归方式获取结构字段名

    结构体可以包含多个字段,每个字段都可以有不同的数据类型。在处理复杂的结构体,尤其是那些嵌套结构体时,我们可能需要获取所有级别的字段名。这正是`fieldnamesr`函数在描述中所提及的功能——递归地获取结构体的...

    excel表数据字段名导入sql

    构建`CREATE TABLE`语句时,我们需要为每个字段指定名称、数据类型和其他可能的属性(如是否为主键、是否允许为空等)。 例如,如果一个字段名为"年龄",我们可能会创建如下的SQL语句: ```sql CREATE TABLE 表名 ...

    sharepoint 自定义字段类型

    在SharePoint中,自定义字段类型是扩展平台功能的关键手段之一,它允许用户根据特定业务需求创建具有独特行为和展示的字段。自定义字段类型可以为数据存储提供更丰富的语义,提高信息管理的灵活性,并增强用户体验。...

    如何获取SqlServer2005表结构(字段,主键,外键,递增,描述)

    SELECT syscolumns.name AS 字段名, systypes.name AS 数据类型, syscolumns.isnullable AS 是否允许为空, syscolumns.length AS 长度 FROM syscolumns, systypes WHERE syscolumns.xusertype = systypes.xusertype ...

    SQL根据字段值查找表及字段

    当你在使用某软件时,已知某个数据,但是想查看它保存在sql哪个表内字段时,用它非常方便

    dbswitch-tableSynchronization异构数据库表结构同步,要支持字段类型、主键信息、建表语句等的转换

    将dbswitch修改之后,dbswitch只支持表结构同步功能,没有数据同步功能了,主要支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。支持基于正则表达式转换的表名与字段名映射转换

    SQL语句查询数据表主键和所有字段

    在数据库管理中,了解如何通过SQL语句查询数据表的主键和所有字段是一项基本而重要的技能。这不仅有助于数据库管理员或开发人员更好地理解数据库结构,还能在进行数据操作、优化查询性能或解决数据完整性问题时提供...

    django自定义非主键自增字段类型详解(auto increment field)

    在Django框架中,开发人员有时需要自定义字段类型以满足特定需求,比如创建一个非主键的自增字段。`django自定义非主键自增字段类型详解(auto increment field)`这一主题旨在介绍如何在Django中实现这样一个功能。...

Global site tag (gtag.js) - Google Analytics