CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  应用实例

如何用SQL语句读取SQL数据库中的表结构,请高手指点!

楼主winternet(冬天)2004-09-04 11:29:57 在 MS-SQL Server / 应用实例 提问

在SQL   SERVER   中有一个数据库,库名为:   STUDENTINFO  
  在数据库中有一个表,结构如下:  
      Student         --表名  
    有字段如下:    
      StudentID     Int  
      Name               char(8)  
   
  如何用SQL语句将表的以上信息读取出来,得到如下结果  
   
  TableName         ColName         ColType     ColLong  
      Student       StudnetID         Int                 4  
      Student         Name                 char               8  
  问题点数:100、回复次数:5Top

1 楼friendliu(无为)回复于 2004-09-04 11:36:31 得分 0

sp_help   tablenameTop

2 楼friendliu(无为)回复于 2004-09-04 11:38:03 得分 50

根据知道一个表的名称,从而得到它的数据字典的信息  
   
  SELECT    
  表名=case   when   a.colorder=1   then   d.name   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      
  --where   d.name='要查询的表'         --如果只查询指定表,加上此条件  
  order   by   a.id,a.colorder  
   
   
  Top

3 楼lzymagi(逸)回复于 2004-09-04 11:43:23 得分 0

通过syslbjects和syscolumns提取。  
  Top

4 楼swordmanli(乘风破浪会有时,直挂云帆济沧海--太白)回复于 2004-09-04 17:03:53 得分 0

用powerdesigner逆向工程,将表结构到出来,再生成脚本,多好啊Top

5 楼zjcxc(邹建)回复于 2004-09-04 17:06:35 得分 50

--显示指定表的表结构信息,Student   是要显示的表名  
  exec   sp_columns   'Student'Top

相关问题

  • sql语句错误,请大家指点。
  • 急,高手指点 SQL语句问题
  • 求一sql语句!高手指点!
  • 一条SQL语句,请高人指点
  • 一段SQL语句 请大家指点
  • 高手入内指点SQL语句
  • sql语句,请大家指点一下
  • SQL语句求解?请高手指点!!
  • 请高手指点--SQL语句问题
  • 求一sql语句,望高手指点

关键词

  • 结构
  • 信息
  • sql
  • 表
  • columnproperty
  • colorder
  • colid
  • student
  • 如下
  • isnull

得分解答快速导航

  • 帖主:winternet
  • friendliu
  • zjcxc

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo