这篇文章主要介绍SQL Server中Table字典数据查询SQL的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

前言

在数据库系统原理与设计(第3版)教科书中这样写道:

数据库包含4类数据:

1.用户数据

2.元数据

3.索引

4.应用元数据

其中,元数据也叫数据字典,定义如下:

下面这篇文章就来给大家分享一个关于查询SQL Server Table 结构的SQL 语句。

T-SQL 如下:

SELECT(casewhena.colorder=1thend.nameelse''end)表名,a.colorder字段序号,a.name字段名,(casewhena.colorder=1thenisnull(f.value,'')else''end)表说明,(casewhenCOLUMNPROPERTY(a.id,a.name,'IsIdentity')=1then'1'else'0'end)标识,(casewhen(SELECTcount(*)FROMsysobjectsWHERE(namein(SELECTnameFROMsysindexesWHERE(id=a.id)AND(indidin(SELECTindidFROMsysindexkeysWHERE(id=a.id)AND(colidin(SELECTcolidFROMsyscolumnsWHERE(id=a.id)AND(name=a.name)))))))AND(xtype='PK'))>0then'1'else'0'end)主键,b.name类型,a.length占用字节数,COLUMNPROPERTY(a.id,a.name,'PRECISION')as长度,isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0)as小数位数,(casewhena.isnullable=1then'1'else'0'end)允许空,isnull(e.text,'')默认值,isnull(g.[value],'')AS[说明]FROMsyscolumnsaleftjoinsystypesbona.xtype=b.xusertypeinnerjoinsysobjectsdona.id=d.idandd.xtype='U'andd.name<>'dtproperties'leftjoinsyscommentseona.cdefault=e.idleftjoinsys.extended_propertiesgona.id=g.major_idANDa.colid=g.minor_idleftjoinsys.extended_propertiesfond.id=f.major_idandf.minor_id=0--whereb.nameisnotnullWHEREd.name='DBA_Server'--如果只查询指定表,加上此条件,此案例为表DBA_Serverorderbya.id,a.colorder

查询出的结果如下:

以上是“SQL Server中Table字典数据查询SQL的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!