论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Sql Server教程
Tag:注入,存储过程,分页,安全,优化,加密,索引,日志,压缩,base64,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,触发器,socket,安装,sqlserver2000,sqlserver2005,sqlserver2008,视频教程

查询数据库表和字段sql语句

文章类别:Sql Server | 发表日期:2008-10-5 21:42:26

今天整理资料时看到有这样一个查询数据库中的表和字段信息的语句,很强! 就是忘了当初谁写的了,印像中该是邹建所创。也贴出来以后备用吧。

1SELECT
 2表名   = CASE a.colorder WHEN 1 THEN c.name ELSE '' END,
 3序     = a.colorder,
 4字段名 = a.name,
 5标识   = CASE COLUMNPROPERTY(a.id,a.name,'IsIdentity'WHEN 1 THEN '' ELSE '' END,
 6主键   = CASE
 7WHEN EXISTS (
 8SELECT *
 9FROM sysobjects
10WHERE xtype='PK' AND name IN (
11SELECT name
12FROM sysindexes
13WHERE id=a.id AND indid IN (
14SELECT indid
15FROM sysindexkeys
16WHERE id=a.id AND colid IN (
17SELECT colid
18FROM syscolumns
19WHERE id=a.id AND name=a.name
20)
21)
22)
23)
24THEN ''
25ELSE ''
26END,
27类型   = b.name,
28字节数 = a.length,
29长度   = COLUMNPROPERTY(a.id,a.name,'Precision'),
30小数   = CASE ISNULL(COLUMNPROPERTY(a.id,a.name,'Scale'),0)
31WHEN 0 THEN ''
32ELSE CAST(COLUMNPROPERTY(a.id,a.name,'Scale'AS VARCHAR)
33END,
34允许空 = CASE a.isnullable WHEN 1 THEN '' ELSE '' END,
35默认值 = ISNULL(d.[text],''),
36说明   = ISNULL(e.[value],'')
37FROM syscolumns a
38LEFT  JOIN systypes      b ON a.xtype=b.xusertype
39INNER JOIN sysobjects    c ON a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties'
40LEFT  JOIN syscomments   d ON a.cdefault=d.id
41LEFT  JOIN sysproperties e ON a.id=e.id AND a.colid=e.smallid
42ORDER BY c.name, a.colorder
我修改一下,变个精简版本的:

1
2select a.name, b.xtype,b.name
3from syscolumns a
4inner  JOIN systypes  b
5ON a.xtype=b.xusertype
6inner join sysobjects c ON
7a.id=c.id AND c.xtype='U' AND c.name<>'dtproperties' where c.name = 表名

http://ring1981.cnblogs.com/archive/2006/06/22/432857.html

视频教程列表
文章教程搜索
 
Sql Server推荐教程
Sql Server热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058