网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > SQL技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.教你轻松解决数据库非事务表回滚.
.轻松掌握SQL Server数据同步技术.
.在无法增强硬件配置的情况下对性.
.如何将图片存到数据库中?.
.用一个案例讲解SQL Server数据库.
.讲解SQL Server的分布式跨服务器.
.关于SQL Server数据库备份和恢复.
.使用人工智能技术自动对SQL语句进.
.SQL Server数据库动态交叉表的参.
.SQL中获得EXEC后面的sql语句或返.
.SQL Server数据库维度表和事实表.
.怎样在SQL Server 2005中用证书加.
.sql server数据库中选出指定范围.
.SQL Server 2005 Reporting Serv.
.MSSQLServer2000的排序功能原来这.
.在SQL Server中用XQuery分解XML数.
.sql 经典语句.
.SQL Server全文检索简介.
.讲解SQL Server线程和纤程的管理.
.SQL Server 2005如何设置多字段做.

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

发表日期:2006-6-23


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

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数据库 人气:12153
下一篇:建立一个传表名参数的存储过程 人气:8889
浏览全部查询数据库表的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐