SQL2005查询表结构的SQL语句使用分享

代码如下:

SELECT   
(case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空   syscolumns(表字段信息表) a  sysobjects d
     a.colorder as 字段序号,  
     a.name as 字段名,  
     (case when COLUMNPROPERTY( a.id,a.name, 'IsIdentity' )=1 then '√' else '' end) as 标识,   --返回IsIdentity的值,IsIdentity只有两个值:0、1
     (case when (SELECT count(*) FROM sysobjects--查询主键  
                     WHERE (name in   
                             (SELECT name FROM sysindexes   
                             WHERE (id = a.id)   AND (indid in   
                                     (SELECT indid FROM sysindexkeys  
                                       WHERE (id = a.id) AND (colid in   
                                         (SELECT colid FROM syscolumns  
                                         WHERE (id = a.id) AND (name = a.name))  
                         )))))   
         AND (xtype = 'PK' ))>0 then '√' else '' end) as 主键,--查询主键END  
b.name as 类型,   --systypes b
a.length as 占用字节数,  
COLUMNPROPERTY(a.id,a.name,'PRECISION' ) as    长度,  
isnull(COLUMNPROPERTY(a.id,a.name,'Scale' ),0) as 小数位数,  
(case when a.isnullable=1 then '√' else '' end) as 允许空,  
isnull(e.text,'' ) as 默认值,   --syscomments e
isnull(g.[value],'' ) AS 字段说明    --sys.extended_properties g (字段信息表)
FROM syscolumns a left join systypes b   
on a.xtype=b.xusertype  
inner join sysobjects d   
on a.id=d.id and d.xtype='U' and d.name<> 'dtproperties'   
left join syscomments e  
on a.cdefault=e.id  
left join sys.extended_properties g  
on a.id=g.major_id AND a.colid = g.minor_id   
     where d.name='systempara' --所要查询的表  
order by a.id,a.colorder

(0)

相关推荐

  • SQL2005查询表结构的SQL语句使用分享

    复制代码 代码如下: SELECT    (case when a.colorder=1 then d.name else '' end) as 表名,--如果表名相同就返回空   syscolumns(表字段信息表) a  sysobjects d      a.colorder as 字段序号,        a.name as 字段名,        (case when COLUMNPROPERTY( a.id,a.name, 'IsIdentity' )=1 then '√' else

  • java跟踪执行的sql语句示例分享

    代码: 复制代码 代码如下: package com.lwj.test.proxy; import java.lang.reflect.InvocationHandler;import java.lang.reflect.InvocationTargetException;import java.lang.reflect.Method;import java.lang.reflect.Proxy;import java.sql.Connection;import java.sql.SQLExce

  • 常用SQL语句查询分享

    --创建数据库(文件:主要数据文件mdf==1,次要数据文件ndf>=0,日志文件ldf>=1) --文件组:当1mdf,5个ndf(1,2,2),10个ldf(3,3,4),将它们分成多个组存放 CREATE database studb; --创建表teacher,student create table teacher ( tid int(10) primary key auto_increment, tname varchar(20), tage int(10) ); use stud

  • C#中实现一次执行多条带GO的sql语句实例

    本文实例讲述了C#中实现一次执行多条带GO的sql语句.分享给大家供大家参考.具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections; using System.Text.RegularExpressions; using System.Data.SqlClient; namespace ConsoleApplicati

  • java执行SQL语句实现查询的通用方法详解

    完成SQL查询 并将查询结果放入Vector容器,以便其他程序使用 /* * 执行sql查询语句 */ public static <T> Vector<T> executeQuery(Class<T> clazz, String sql, Object... args) { Connection conn = null; PreparedStatement preparedstatement = null; ResultSet rs = null; Vector<

  • Mysql数据库之常用sql语句进阶与总结

    本文实例讲述了Mysql数据库之常用sql语句.分享给大家供大家参考,具体如下: 前面讲述了Mysql sql基本语句.这里继续总结一下SQL语句的进阶内容. SQL语句进阶 1.查询字段: ----查询所有字段 select * from 表名; ----查询指定字段 select 字段名,字段名- from 表名; ----多数据表连接查询时 select 表名.字段名,表名.字段名 - from 表名; ----使用as给表起别名 select 表别名.字段名 from 表名 as 表别名

  • sql server递归子节点、父节点sql查询表结构的实例

    一.查询当前部门下的所有子部门 WITH dept AS ( SELECT * FROM dbo.deptTab --部门表 WHERE pid = @id UNION ALL SELECT d.* FROM dbo.deptTab d INNER JOIN dept ON d.pid = dept.id ) SELECT * FROM dept 二.查询当前部门所有上级部门 WITH tab AS ( SELECT DepId , ParentId , DepName , [Enable] ,

  • Sql Server 索引使用情况及优化的相关Sql语句分享

    复制代码 代码如下: --Begin Index(索引) 分析优化的相关 Sql -- 返回当前数据库所有碎片率大于25%的索引 -- 运行本语句会扫描很多数据页面 -- 避免在系统负载比较高时运行 -- 避免在系统负载比较高时运行 declare @dbid int select @dbid = db_id() SELECT o.name as tablename,s.* FROM sys.dm_db_index_physical_stats (@dbid, NULL, NULL, NULL,

  • asp的SQL语句中and和or同时使用的注意事项

    今天在调试程序的时候,需要用到and or,如果不掌握技巧输出的结构与我们想象的差距有点大,这里分享一下,希望大家以后多多支持我们 asp的SQL语句中and 和or是不是不可以同时使用呢? 答案是肯定的,下面来看下方法: 1.非常负责任的告诉你,是可以同时使用的.但要看业务要求 2.使用的场景举例: 查询表中2000年和2002年出生的男同学 select * from 学生表 where 性别='男' and (出生年份=2000 or 出生年份=2002) 3.其实or可以用SQL中的In

  • sql语句优化之SQL Server(详细整理)

    MS SQL Server查询优化方法 查询速度慢的原因很多,常见如下几种 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2.I/O吞吐量小,形成了瓶颈效应. 3.没有创建计算列导致查询不优化. 4.内存不足 5.网络速度慢 6.查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7.锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8.sp_lock,sp_who,活动的用户查看,原因是读写竞争资源. 9.返回了不必要的行和列 10.查询语句不好,

随机推荐