好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

SQL提取数据库表名及字段名等信息代码示例

本文向大家介绍了使用SQL语句提取数据库所有表的表名、字段名的实例代码,在SQLserver 中进行了测试,具体内容如下:

--查询所有用户表所有字段的特征
SELECT D.Name as TableName, A.colorder AS ColOrder, A.name AS Name, 
 COLUMNPROPERTY(A.ID,A.Name, 'IsIdentity') AS IsIdentity, 
 CASE WHEN EXISTS
 (SELECT 1
 FROM dbo.sysobjects
 WHERE Xtype = 'PK' AND Name IN
 (SELECT Name
 FROM sysindexes
 WHERE indid IN
 (SELECT indid
 FROM sysindexkeys
 WHERE ID = A.ID AND colid = A.colid))) 
 THEN 1 ELSE 0 END AS 主键, 
 B.name AS 类型,
 A.length AS [长度],
 A.xprec AS [精度],
 A.xscale AS [小数],
 CASE WHEN A.isnullable = 1 THEN 1 ELSE 0 END AS [可为空], 
ISNULL(E.text, ' ') AS [默认值], 
 ISNULL(G.[value], ' ') AS [说明]
FROM dbo.syscolumns A LEFT OUTER JOIN
 dbo.systypes B ON A.xtype = B.xusertype INNER JOIN
 dbo.sysobjects D ON A.id = D.id AND D.xtype = 'U' AND 
 D.name <> 'dtproperties' LEFT OUTER JOIN
 dbo.syscomments E ON A.cdefault = E.id 
 LEFT OUTER JOIN dbo.sysproperties G ON A.id = G.id AND A.colid = G.smallid
--WHERE D.Name='tablename' --如果找指定表,把注释去掉
ORDER BY 1, 2 

查看更多关于SQL提取数据库表名及字段名等信息代码示例的详细内容...

  阅读:52次