sql server抓取表结构的语句

sql server 2008抓取方法:

---------------------------------------

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,

字段说明 = isnull(G.[value],‘‘),

标识 = Case When COLUMNPROPERTY( A.id,A.name,‘IsIdentity‘)=1 Then ‘√‘Else ‘‘ End,

主键 = Case When exists(SELECT 1 FROM sysobjects Where xtype=‘PK‘ and parent_obj=A.id 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,‘‘)

FROM syscolumns A

Left Join systypes B On A.xusertype=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

Left Join sys.extended_properties F On D.id=F.major_id and F.minor_id=0

where d.name=‘person‘

Order By A.id,A.colorder

时间: 2024-11-03 22:29:41

sql server抓取表结构的语句的相关文章

Oracle抓取表结构的语句

oracle --------------------------------------- SELECT case when t.COLUMN_ID=1 then t.table_name end table_name, case when t.COLUMN_ID=1 then t2.comments end table_comments, t.COLUMN_ID,t.colUMN_NAME,t1.comments,case when t3.COLUMN_NAME is not null th

SQL Server 动态创建表结构

需求是,在word里面设计好表结构(主要在word中看起来一目了然,方便维护),然后复制sql 里面,希望动态创建出来 存储表结构的表 CREATE TABLE [dbo].[Sys_CreateTable]( [序号] [int] IDENTITY(1,1) NOT NULL, [中文名] [nvarchar](500) NULL, [英文名] [nvarchar](500) NULL, [类型.宽度.精度] [nvarchar](500) NULL, [默认值/描述] [nvarchar](

Sql Server 导出数据库表结构的SQL查询语句

1 --导出数据库所有表 2 3 SELECT 4 表名 = Case When A.colorder=1 Then D.name Else '' End, 5 表说明 = Case When A.colorder=1 Then isnull(F.value,'') Else '' End, 6 字段序号 = A.colorder, 7 字段名 = A.name, 8 字段说明 = isnull(G.[value],''), 9 标识 = Case When COLUMNPROPERTY( A.

Sql Server删除数据表中重复记录 三种方法

本文介绍了Sql Server数据库中删除数据表中重复记录的方法. [项目]数据库中users表,包含u_name,u_pwd两个字段,其中u_name存在重复项,现在要实现把重复的项删除![分析]1.生成一张临时表new_users,表结构与users表一样:2.对users表按id做一个循环,每从users表中读出一个条记录,判断new_users中是否存在有相同的u_name,如果没有,则把它插入新表:如果已经有了相同的项,则忽略此条记录:3.把users表改为其它的名称,把new_use

SQL Server 临时表 Vs 表变量

开始 说临时表和表变量,这是一个古老的话题,我们在网上也找到很多的资料阐述两者的特征,优点与缺点.这里我们在SQL Server 2005\SQL Server 2008版本上通过举例子,说明临时表和表变量两者的一些特征,让我们对临时表和表变量有进一步的认识.在本章中,我们将从下面几个方面去进行描述,对其中的一些特征举例子说明: 约束(Constraint) 索引(Index) I/0开销 作用域(scope) 存儲位置 其他 例子描述 约束(Constraint) 在临时表和表变量,都可以创建

SQL Server数据库、表、数据类型基本概念

一.SQL Server的数据存储结构 SQL Server是一个数据库管理系统,需要以有效方式存储高容量数据.要更好地理解SQL Server处理数据的方式,就需要了解数据的存储结构. 1.文件类型 数据库在磁盘上是以文件为单位存储的,由数据文件和事务日志文件组成.一个数据库至少应该包含一个数据文件和一个事务日志文件. 主数据文件:主数据文件包含数据库的启动信息,指向数据库中的其他文件,每个数据库都有一个主数据文件(有且只有一个),推荐文件扩展名是.mdf: 次要(辅助)数据文件:除主数据文件

SQL Server 索引和表体系结构(三)

原文:SQL Server 索引和表体系结构(三) 包含列索引 概述 包含列索引也是非聚集索引,索引结构跟聚集索引结构是一样,有一点不同的地方就是包含列索引的非键列只存储在叶子节点:包含列索引的列分为键列和非键列,所谓的非键列就是INCLUDE中包含的列,至少需要有一个键列,且键列和非键列不允许重复,非键列最多允许1023列(也就是表的最多列-1),由于索引键列(不包括非键)必须遵守现有索引大小的限制(最大键列数为 16,总索引键大小为 900 字节)的要求所以引进了包含列索引. 正文 创建包含

SQL server 数据库用户表名称

转自(http://blog.163.com/jlj_sk/blog/static/22579293200861422833924/) 取得SQL server 数据库中 所有用户表名称 select name from sysobjects where xtype='U' order by name SQL server数据库系统表详解: sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库字符集与排序顺序 sysconfigures主数据库 配置选项 sysc

SQL Server 索引和表体系结构(二)

原文:SQL Server 索引和表体系结构(二) 非聚集索引 概述 对于非聚集索引,涉及的信息要比聚集索引更多一些,由于整个篇幅比较大涉及接下来的要写的"包含列的索引","索引碎片"等一些知识点,可能要结合起来阅读理解起来要更容易一些.非聚集索引和聚集索引一样都是B-树结构,但是非聚集索引不改变数据的存储方式,所以一个表允许建多个非聚集索引:非聚集索引的叶层是由索引页而不是由数据页组成,索引行包含索引键值和指向表数据存储位置的行定位器, 既可以使用聚集索引来为表或