SELECT c.name
FROM   sysobjects t
JOIN   syscolumns c
ON     t.id = c.id
WHERE  t.name = 'table name'

解决方案 »

  1.   

    select case when c.colid=1 then object_name(c.id) else '' end as 表名 
    ,c.name as 字段名
    ,t.name 数据类型
    ,c.prec as 长度
    ,p.value as 字段说明
    ,m.text as 默认值
    from syscolumns c
    inner join systypes t on c.xusertype=t.xusertype
    left join sysproperties p on c.id=p.id and c.colid = p.smallid
    left join syscomments m on c.cdefault=m.id
    where c.id=object_id('表名')
    and objectproperty(c.id,'IsUserTable')=1
      

  2.   

    --这个更详细SELECT 
    表名=case when a.colorder=1 then d.name else '' end,
    表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
    字段序号=a.colorder,
    字段名=a.name,
    标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
    主键=case when exists(SELECT 1 FROM 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 '√' else '' end,
    类型=b.name,
    占用字节数=a.length,
    长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
    小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
    允许空=case when a.isnullable=1 then '√'else '' end,
    默认值=isnull(e.text,''),
    字段说明=isnull(g.[value],'')
    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 sysproperties g on a.id=g.id and a.colid=g.smallid  
    left join sysproperties f on d.id=f.id and f.smallid=0
    --where d.name='要查询的表'    --如果只查询指定表,加上此条件
    order by a.id,a.colorder
      

  3.   

    select a.name from syscolumns a
    left join sysobjects b on a.id=b.id
    where b.name=tableName
      

  4.   

    select top 0 * from tablename
      

  5.   

    zjcxc
    --更详细的
    SELECT 
    表名=case when a.colorder=1 then d.name else '' end,
    表说明=case when a.colorder=1 then isnull(f.value,'') else '' end,
    字段序号=a.colorder,
    字段名=a.name,
    标识=case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end,
    主键=case when exists(SELECT 1 FROM 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 '√' else '' end,
    类型=b.name,
    占用字节数=a.length,
    长度=COLUMNPROPERTY(a.id,a.name,'PRECISION'),
    小数位数=isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0),
    允许空=case when a.isnullable=1 then '√'else '' end,
    默认值=isnull(e.text,''),
    字段说明=isnull(g.[value],''),
    索引名称=isnull(h.索引名称,''),
    索引顺序=isnull(h.排序,'')
    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 sysproperties g on a.id=g.id and a.colid=g.smallid  
    left join sysproperties f on d.id=f.id and f.smallid=0
    left join(--这部分是索引信息,如果要显示索引与表及字段的对应关系,可以只要此部分
    select 索引名称=a.name,c.id,d.colid
    ,排序=case indexkey_property(c.id,b.indid,b.keyno,'isdescending')
    when 1 then '降序' when 0 then '升序' end
    from sysindexes a
    join sysindexkeys b on a.id=b.id and a.indid=b.indid
    join (--这里的作用是有多个索引时,取索引号最小的那个
    select id,colid,indid=min(indid) from sysindexkeys
    group by id,colid) b1 on b.id=b1.id and b.colid=b1.colid and b.indid=b1.indid
    join sysobjects c on b.id=c.id and c.xtype='U' and  c.name<>'dtproperties'
    join syscolumns d on b.id=d.id and b.colid=d.colid
    where a.indid not in(0,255)
    ) h on a.id=h.id and a.colid=h.colid
    --where d.name='要查询的表'    --如果只查询指定表,加上此条件
    order by a.id,a.colorder
      

  6.   

    select name from syscolumns where id=object_id('表名')
      

  7.   

    select * from syscolumns t,sysobjects tt where t.id=tt.id and tt.name='tablename'
      

  8.   

    凑个热闹:
    3、一个数据库所有的列信息保存在该库syscolumns系统里,使用下面的语句查询
    方法一、use 数据库名字
    go
    Select a.id as ID, c.name as 表名, a.name as 列名 ,b.name as 类型, a.length as 长度, a.scale as Scale, a.isnullable as 允许空 from syscolumns a, systypes b, sysObjects c  where a.xtype = b.xusertype and a.id = c.id  and c.xtype='U' and c.status>0 order by a.colorder方法二、使用系统视图use 数据库名字
    go
    select * from information_schema.columns另外:sp_help '表名',可以获取此表的表结构等信息
      

  9.   

    呵呵   我考虑的很简单  不好意思SELECT * FROM 表名 where 1=2就可以看到 这个表的所有字段了    谢谢
      

  10.   

    select top 0 * from 表