教您查询SQL字段属性的sql语句写法

数据库 SQL Server
下文对查询SQL字段属性的sql语句写法进行了详细的阐述说明,该SQL脚本供您参考学习,希望对您能够有所帮助。

想要查看SQL字段属性,应该如何实现呢?下面为您介绍的就是查询SQL字段属性的sql语句写法,希望对您学习SQL字段属性方面有所启迪。

  1. SELECT sysobjects.name AS tableName, syscolumns.name AS field, properties.[value] AS fieldRemark, systypes.name AS type,   
  2.  
  3. syscolumns.length, ISNULL(COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'Scale'), 0) AS [decimal], syscolumns.isnullable AS isnulls,   
  4.  
  5. CASE WHEN syscomments.text IS NULL THEN '' ELSE syscomments.text END AS [Default],   
  6.  
  7. CASE WHEN COLUMNPROPERTY(syscolumns.id, syscolumns.name, 'IsIdentity') = 1 THEN 'Y' ELSE 'N' END AS [id], CASE WHEN EXISTS  
  8.  
  9. (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND name IN (SELECT name FROM sysindexes WHERE indid IN (SELECT indid FROM sysindexkeys WHERE id = syscolumns.id AND colid = syscolumns.colid)))   
  10. THEN 'Y' ELSE 'N' END AS PK FROM syscolumns INNER JOIN sysobjects ON sysobjects.id = syscolumns.id INNER JOIN  
  11. systypes ON syscolumns.xtype = systypes.xtype LEFT OUTER JOIN sysproperties properties ON syscolumns.id = properties.id AND   
  12. syscolumns.colid = properties.smallid LEFT OUTER JOIN sysproperties ON sysobjects.id = sysproperties.id AND   
  13. sysproperties.smallid = 0 LEFT OUTER JOIN syscomments ON syscolumns.cdefault = syscomments.id  
  14. WHERE (sysobjects.xtype = 'U') and systypes.name<>'sysname' order by sysobjects.name  
  15.  
  16. 使用:把这段代码拷贝到查询分析器内选中相关查询的数据库名即可。  
  17. //符合我自己使用的查询数据库字典方法:SQL server 200  
  18.  
  19. SELECT sysobjects.name AS 表名,--获取数据库表名  
  20.  
  21.        CASE WHEN EXISTS (SELECT 1 FROM sysobjects WHERE xtype = 'PK' AND name IN  
  22.  
  23.                          (SELECT name FROM sysindexes WHERE indid IN   
  24.  
  25.                          (SELECT indid FROM sysindexkeys WHERE id = syscolumns.id AND colid = syscolumns.colid)))   
  26.  
  27.                          THEN 'K' ELSE '' END AS PK,--是否是主键  
  28. syscolumns.name AS 字段名,   
  29. properties.[value] AS 字段描述,  
  30. systypes.name AS 数据类型,   
  31. syscolumns.length AS 长度,   
  32. CASE syscolumns.isnullable WHEN '1' THEN '是' ELSE '否'END AS 允许为空,   
  33.  
  34.        CASE WHEN syscomments.text IS NULL THEN '' ELSE syscomments.text END AS 默认值  
  35.  
  36.        FROM syscolumns INNER JOIN  
  37.  
  38.                          sysobjects ON sysobjects.id = syscolumns.id INNER JOIN  
  39.  
  40.                          systypes ON syscolumns.xtype = systypes.xtype LEFT OUTER JOIN   
  41.  
  42.                          sysproperties properties ON syscolumns.id = properties.id AND   
  43.  
  44.                          syscolumns.colid = properties.smallid LEFT OUTER JOIN   
  45.  
  46.                          sysproperties ON sysobjects.id = sysproperties.id AND sysproperties.smallid = 0 LEFT OUTER JOIN  
  47.  
  48.                          syscomments ON syscolumns.cdefault = syscomments.id  
  49.  
  50.        WHERE (sysobjects.xtype = 'U') and systypes.name<>'sysname'   
  51. order by sysobjects.name desc  

 

 

 

【编辑推荐】

SQL约束控制语句

带您深入了解sql字段类型

教您如何获取SQL字段默认值

SQL修改字段默认值

SQL Server时间算法大全

责任编辑:段燃 来源: 互联网
相关推荐

2010-09-07 09:45:48

SQL语句

2010-09-14 16:36:34

SQL SERVER查

2010-09-25 11:02:33

SQL主键

2010-09-28 15:19:13

SQL语句

2010-09-07 10:42:12

SQL语句

2010-09-26 16:56:14

sql语句

2010-09-26 13:56:43

SQL远程查询

2010-09-28 15:07:14

SQL语句

2010-09-28 15:13:10

SQL语句

2010-09-01 15:59:44

SQL删除字段

2010-09-28 10:35:58

SQL字段默认值

2010-09-24 19:23:51

SQL查询时间段

2010-09-28 11:07:37

SQL索引

2010-09-03 14:14:16

SQL删除

2010-09-07 15:54:47

SQL语句LIKE

2010-09-24 15:58:24

SQL语句逐条更新

2010-10-27 17:04:41

Oracle动态查询

2010-09-26 13:51:48

SQL游标

2010-09-25 11:32:20

SQL主键约束

2010-09-24 16:52:18

sql DATENAM
点赞
收藏

51CTO技术栈公众号