sql server 查询数据库所有的表名+字段

SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account'

SELECT   
 (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空  
     a.colorder as 字段序号,  
     a.name as 字段名,  
     (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) as 标识,  
     (case when (SELECT count(*) FROM sysobjects--查询主键  
                     WHERE (name in  
                             (SELECT name FROM sysindexes   
                             WHERE (id = a.id)  AND (indid in  
                                     (SELECT indid FROM sysindexkeys  
                                       WHERE (id = a.id) AND (colid in  
                                         (SELECT colid FROM syscolumns  
                                         WHERE (id = a.id) AND (name = a.name))  
                         )))))   
         AND (xtype = 'PK'))>0 then '√' else '' end) as 主键,--查询主键END  
 b.name as 类型,  
 a.length as 占用字节数,  
 COLUMNPROPERTY(a.id,a.name,'PRECISION') as  长度,  
 isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,  
 (case when a.isnullable=1 then '√'else '' end) as 允许空,  
 isnull(e.text,'') as 默认值,  
 isnull(g.[value],'') AS 字段说明   
 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' and d.name<>'dtproperties'  
 left join syscomments e  
 on a.cdefault=e.id  
 left join sys.extended_properties g  
 on a.id=g.major_id AND a.colid = g.minor_id   
 order by a.id,a.colorder

 

 

 

查询数据库里所有表名和字段名的语句
SQL 查询所有表名:
SELECT NAME FROM SYSOBJECTS WHERE TYPE='U'
SELECT * FROM INFORMATION_SCHEMA.TABLES
查询表的所有字段名:
SELECT NAME FROM SYSCOLUMNS WHERE ID=OBJECT_ID(' 表名' )
SELECT * FROM INFORMATION_SCHEMA.TABLES
SELECT * FROM INFORMATION_SCHEMA.VIEWS
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
ORACLE 查看所有表名:
SELECT TABLE_NAME FROM USER_TABLES
ACCESS 查看所有表名:
SELECT NAME FROM MSYSOBJECTS WHERE TYPE=1 AND FLAGS=0
MSYSOBJECTS 是系统对象,默认情况是隐藏的。通过工具、选项、视图、显示、系统对象可以使之显示出来。

 

 

字段类型

中文说明

限制条件

其它说明

CHAR

固定长度字符串

最大长度2000 bytes

 

VARCHAR2

可变长度的字符串

最大长度4000 bytes

可做索引的最大长度749

NCHAR

根据字符集而定的固定长度字符串

最大长度2000 bytes

 

NVARCHAR2

根据字符集而定的可变长度字符串

最大长度4000 bytes

 

DATE

日期(日- 月- 年)

DD-MM-YY (HH-MI-SS )

经过严格测试,无千虫问题

LONG

超长字符串

最大长度 2G (231 -1 )

足够存储大部头著作

RAW

固定长度的二进制数据

最大长度2000 bytes

可存放多媒体图象声音等

LONG RAW

可变长度的二进制数据

最大长度 2G

同上

BLOB

二进制数据

最大长度 4G

 

CLOB

字符数据

最大长度 4G

 

NCLOB

根据字符集而定的字符数据

最大长度 4G

 

BFILE

存放在数据库外的二进制数据

最大长度 4G

 

ROWID

数据表中记录的唯一行号

10 bytes ********.****.**** 格式,* 为0 或1

NROWID

二进制数据表中记录的唯一行号

最大长度4000 bytes

NUMBER(P,S)

数字类型

P 为整数位,S 为小数位

DECIMAL(P,S)

数字类型

P 为整数位,S 为小数位

INTEGER

整数类型

小的整数

FLOAT

浮点数类型

NUMBER(38) ,双精度

REAL

实数类型

NUMBER(63) ,精度更高

posted @ 2014-10-31 12:38  诺唯  阅读(15461)  评论(0编辑  收藏  举报