SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称
1.查询数据库中的所有数据库名:
SELECT name FROM Master..SysDatabases ORDER BY name
2.查询某个数据库中所有的表名:
SELECT name FROM SysObjects Where XType='U' ORDER BY name
3.查询表结构信息:
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 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) 主键,b.name 类型,a.length 占用字节数, ColUMNPROPERTY(a.ID,'PRECISION') as 长度, isnull(ColUMNPROPERTY(a.ID,'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
总结以上是内存溢出为你收集整理的SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称全部内容,希望文章能够帮你解决SQLSERVER如何获取一个数据库中的所有表的名称、一个表中所有字段的名称所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)