Heim >Datenbank >MySQL-Tutorial >sql中获取一个数据库中的所有表的名称、一个表中所有字段的名称

sql中获取一个数据库中的所有表的名称、一个表中所有字段的名称

WBOY
WBOYOriginal
2016-06-07 17:49:101559Durchsuche

文章介绍了关于SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称 ,有需要了解的同学可参考一下。

1.查询中的所有数据库名:

 代码如下 复制代码
 SELECT Name FROM Master..SysDatabases ORDER BY Name2.


查询某个数据库中所有的表名:

 代码如下 复制代码
 SELECT Name FROM SysObjects Where XType='U' ORDER BY Name3.

查询表结构信息

 代码如下 复制代码

SELECT (case when a.colorder=1 then d.name else null end) 表名, 
 a.colorder 字段序号,a.name 字段名,
 (case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) 标识,
 (case when (SELECT (*) 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) 主键,b.name 类型,a.length 占用字节数, 
 COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度, 
 isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as 小数位数,(case when a.isnullable=1 then '√'else '' end) 允许空, 
 isnull(e.text,'') 默认值,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
 left join sys.extended_properties f on d.id=f.class and f.minor_id=0
 where b.name is not null
 --WHERE d.name='要查询的表' --如果只查询指定表,加上此条件
 order by a.id,a.colorder

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn