`
逆风的香1314
  • 浏览: 1416002 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

显示数据库中的表结构(新增了索引及表的描述信息)

阅读更多
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
分享到:
评论

相关推荐

    自动对比2个数据库表结构差异

    在IT行业中,数据库是存储和管理数据的核心工具,而数据库表结构则是数据组织的基础。有时候,我们可能需要对比两个数据库的表结构差异,比如在升级系统、迁移数据或进行数据库同步时。本篇将深入探讨如何自动对比两...

    不同数据库之间的不同表结构的数据迁移

    在"不同数据库之间的不同表结构的数据迁移"这个主题中,我们将深入探讨这个过程,以及如何处理不同数据库系统之间可能存在的表结构差异。 首先,我们要理解不同的数据库管理系统(DBMS)如MySQL、Oracle、SQL ...

    根据ORACLE数据库表结构自动生成SQL语句和VB代码

    原创的一个小工具,使用该工具登录ORACLE(版本需Oracle 10g)数据库后,根据表结构,可以根据自己的需要,通过双击表名或字段名生成SQL语句,同时也可以生成VB语句,最适合使用在VB操作数据库上(大部分操作数据库都...

    国家行业标准--水质数据库表结构

    5. **水质数据库表结构**:详细描述了不同类别下的具体表结构,包括基本信息类表、监测信息类表和评价信息类表。 6. **表标识符索引**:提供了所有表的标识符列表,方便查询。 7. **字段标识符索引**:列出了所有...

    MySQL数据库应用 实验训练4:视图和索引的构建与使用

    MySQL数据库中的视图和索引是两个非常重要的概念,它们对于数据管理、查询效率和数据安全性都有着显著的影响。本实验训练旨在让学生通过实际操作来深入理解这两个概念。 首先,我们来看视图。视图可以被看作是...

    中控zktime5.0考勤管理系统数据库表结构.doc

    《中控zktime5.0考勤管理系统数据库表结构详解》 中控zktime5.0考勤管理系统是一款高效的企业考勤管理软件,其数据库表结构设计严谨,旨在实现对员工考勤数据的有效管理和分析。本文将深入解析该系统的几个核心...

    Golang 针对 MySQL 数据库表结构的差异 SQL 工具。.zip

    在IT领域,尤其是在数据库管理和开发过程中,有效地管理数据库表结构的变更是一项重要的任务。Golang是一种流行的编程语言,因其高效、简洁的语法而被广泛应用于系统级编程和Web服务开发。针对MySQL数据库,Golang...

    SQL Server从表结构和数据得到更新SQL语句,可以作为导数据库的工具。

    本话题主要关注如何从表结构和数据中获取更新SQL语句,这一过程对于数据库的备份、迁移和同步至关重要。下面我们将深入探讨这个主题。 首先,要理解SQL Server的表结构,我们需要查看每个表的字段定义,包括字段名...

    数据库--仪器仪表管理系统

    - **数据表设计**:根据需求分析结果设计数据表结构。 - **关系设计**:定义各表之间的关联关系。 - **索引设计**:为提高查询效率,对关键字段创建索引。 #### 五、软件功能设计 - **模块化设计**:将系统划分为...

    国家开放大学 MySQL数据库应用 实验训练4:数据库系统维护

    本实验训练旨在帮助学生理解视图和索引的概念和作用,掌握视图和索引的基本操作,并且了解它们在数据库系统维护中的应用。 一、视图的概念和作用 视图是一种基于基表的虚拟表,它提供了一种简洁的方式来查询和操作...

    更新数据库结构

    同步两个数据库间的表结构则意味着确保两个数据库在结构上保持一致,以便于数据迁移、备份、恢复或联合查询。 首先,我们来看如何更新数据库结构。在实际应用中,数据库设计会随着业务需求的发展而不断调整。例如,...

    SQLSERVER数据库结构比较工具

    3. **执行比较**:工具会扫描两个数据库的所有对象,查找表结构、字段、索引、约束等方面的差异。 4. **分析结果**:比较完成后,结果将以清晰的报告形式展示,包括新增、删除、修改的对象列表。 5. **同步操作**...

    数据库表结构智能迁移服务源码

    对MySQL表结构的多人协同的变更时,想将dev环境的库中的结构变动同步迁移到test环境, 进行智能化的迁移。并将变更的SQL记录归档需求。下载以便检查后线上执行。 提供按照表、字段、索引 的对比步骤,进行展示哪些是...

    中控zktime50考勤管理系统数据库表结构.doc

    该系统的数据库表结构主要包括五个表:考勤记录表(Checkinout)、指纹模板表(Template)、用户信息表(Userinfo)、面部模板表(FaceTemp)和考勤记录修改日志表(CheckExact)。 1. 考勤记录表(Checkinout) ...

    QAD 数据库结构

    书中提供了丰富的跨引用资料,便于识别新增、更改以及删除的数据表、字段及索引等数据库元素。 - **版权信息**:文档为QAD Inc.所有,受版权保护。任何未经QAD Inc.书面许可的复制、翻译或修改行为均被禁止。 - **...

    数据库与表 课件

    设计者需要定义表结构,包括表名、字段名、数据类型等,并通过主键和外键确定表间的关系。 4. 物理设计:根据逻辑设计的结果,确定表在物理存储介质上的布局。 5. 数据库实现:最终在数据库管理系统(DBMS)中实现...

    用VS2010对access数据库表升级更新

    2. **比较表和字段**:对比源数据库和目标数据库的表结构,找出源数据库中目标数据库缺少的表,以及需要在已有表上增加的字段。VS2010中可以使用DataSet或DataTable对象来存储和比较这些信息。 3. **复制缺少的表**...

    王玄韬《MySQL数据库基础》卷2.pdf

    在本资源中,数据库设计主要包括创建数据库、创建表、设计表结构、设置索引和约束等。 创建数据库 创建数据库是指根据业务需求,创建一个新的数据库。包括选择数据库管理系统、设计数据库 schema、创建数据库用户...

    物业管理信息系统 数据库设计

    接下来,逻辑设计阶段,我们将E-R模型转换为关系模型,即设计数据库的表结构。例如,可以创建"业主"表、"房屋"表、"费用"表,并通过外键关联这些表,确保数据的一致性和完整性。在这个阶段,还需要考虑数据类型的...

    Python-mysqldiff是一款轻量级数据库对比工具同时支持新增表的默认数据导入

    1. **对比功能**:它能够比较两个MySQL数据库的表结构,包括表的创建语句、索引、字段、约束等,并生成升级或降级的SQL脚本,使数据库结构保持一致。 2. **默认数据导入**:当新的数据库版本中包含新增的表时,...

Global site tag (gtag.js) - Google Analytics