一、库里有多少个表,表名等

select * from INFORMATION_SCHEMA.TABLES

二、查询表、字段、类型、是否主键、长度、小数位、是否允许空、默认值等详细查询

效果:

SELECT
(case when a.colorder= then d.name else '' end) as 表名,--如果表名相同就返回空
a.colorder as 字段序号,
a.name as 字段名,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')= then '√'else '' end) as 标识,
(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'))> then '√' else '' end) as 主键,--查询主键END
b.name as 类型,
a.length as 占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as 长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),) as 小数位数,
(case when a.isnullable= then '√'else '' end) as 允许空,
isnull(e.text,'') as 默认值,
isnull(g.[value],'') AS 字段说明
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
order by a.id,a.colorder

三、系统表:

sys.allocation_units 数据库中的每个分配单元都在表中占一行。
sys.assembly_modules 为公共语言运行时 (CLR) 程序集所定义的每个函数、过程或触发器返回一行。此目录视图将 CLR 存储过程、CLR 触发器或 CLR 函数映射到其基础实现。类型为 TA、AF、PC、FS 和 FT 的对象具有相关联的程序集模块。若要查找对象和程序集之间的关联,可以将此目录视图联接到其他目录视图。例如,在创建 CLR 存储过程时,该存储过程由 sys.objects 中的一行、sys.procedures(继承自 sys.objects)中的一行以及 sys.assembly_modules 中的一行表示。该存储过程本身由 sys.objects 和 sys.procedures 中的元数据表示。在 sys.assembly_modules 中可以找到对该过程的基础 CLR 实现的引用。
sys.check_constraints 每个作为 CHECK 约束的对象 (sys.objects.type = ‘C’) 均存在对应的一行。
sys.columns 为包含列的对象(如视图或表)的每列返回一行。下面是包含列的对象类型的列表。

  • 表值程序集函数 (FT)
  • 内联表值 SQL 函数 (IF)
  • 内部表 (IT)
  • 系统表 (S)
  • 表值 SQL 函数 (TF)
  • 用户表 (U)
  • 视图 (V)
sys.computed_columns sys.columns 中的每个计算列对应一行。
sys.default_constraints 作为默认定义且 sys.objects.type = D 的每个对象在表中各对应一行,该默认定义是作为 CREATE TABLE 或 ALTER TABLE 语句的一部分创建的,而不是作为 CREATE DEFAULT 语句的一部分创建的。
sys.events 导致触发器或事件通知激发的每个事件对应一行。这些事件表示在使用 CREATE TRIGGER 或 CREATE EVENT NOTIFICATION 创建触发器或事件通知时所指定的事件类型。
sys.event_notifications 为作为事件通知的每个对象返回一行,且 sys.objects.type = EN。
sys.extended_procedures 每个作为扩展存储过程且 sys.objects.type = X 的对象对应一行。因为扩展存储过程安装在 master 数据库中,它们只有在该数据库上下文中才可见。从任何其他数据库上下文中的sys.extended_procedures 视图中进行选择,将返回空的结果集。
sys.foreign_key_columns 组成外键的每一列或列集在表中对应一行。
sys.foreign_keys 每个作为 FOREIGN KEY 约束并且 sys.object.type = F 的对象都在表中占一行。
sys.function_order_columns 针对每列返回一行,该列是公共语言运行时 (CLR) 表值函数 ORDER 表达式的一部分。
sys.identity_columns 用作标识列的每列都在表中占一行。
sys.index_columns 属于 sys.indexes 索引或未排序的表(堆)的每个列都对应一行。
sys.indexes 每个表格对象(例如,表、视图或表值函数)的索引或堆都包含一行。
sys.key_constraints 每个作为主键或唯一约束的对象对应一行。包括 sys.objects.type PK 和 UQ。
sys.numbered_procedure_parameters 带编号过程的每个参数都在表中对应一行。当您创建带编号的存储过程时,基过程的编号为 1。所有后续过程的编号依次为 2、3等。sys.numbered_procedure_parameters 包含所有后续过程(编号大于等于 2)的参数定义。该视图不显示基存储过程(编号 = 1)的参数。基存储过程类似于无编号的存储过程。因此,它的参数表示在 sys.parameters (Transact-SQL) 中。
sys.numbered_procedures 每个作为带编号的过程而创建的 SQL Server 存储过程都占一行。对于基(编号 = 1)存储过程,它不显示行。可以在诸如 sys.objects 和 sys.procedures 之类的视图中找到基存储过程的项。
sys.objects 在数据库中创建的每个用户定义的架构范围内的对象在该表中均对应一行。
sys.parameters 接受参数的对象的每个参数在表中对应一行。如果对象是标量函数,则另有一行说明返回值。该行将有一个值为 0 的 parameter_id。
sys.partitions 数据库中所有表和大多数类型的索引的每个分区在表中各对应一行。Fulltext、Spatial 和 XML 之类的特殊索引类型在此视图中不包括。SQL Server 2008 中所有表和索引都至少包含一个分区,无论它们是否已进行显式分区均为如此。
sys.procedures 于同类过程并且 sys.objects.type = P、X、RF 和 PC 的每个对象对应一行。
sys.service_queues 数据库中每个作为服务队列的对象(sys.objects.type = SQ)都在表中对应一行。
sys.spatial_index_tessellations 表示有关每个空间索引的分割方案和参数的信息。
sys.spatial_indexes 表示空间索引的主索引信息。
sys.sql_dependencies 对在定义另一引用对象的 Transact-SQL 表达式或语句中引用的被引用的实体的每一依赖关系,均存在对应的一行。
sys.sql_expression_dependencies 当前数据库中用户定义实体的每个按名称依赖项在此表中均占一行。当一个称为“被引用的实体”的实体按名称显示在另一个称为“引用实体”的实体的持久化 SQL 表达式中时,将创建这两个实体之间的依赖关系。例如,在视图定义中引用表时,作为引用实体的视图将依赖于表这个被引用的实体。如果删除该表,则该视图不可用。您可以使用此目录视图来报告以下实体的依赖关系信息:

  • 绑定到架构的实体。
  • 非绑定到架构的实体。
  • 跨数据库和跨服务器的实体。报告了实体名称;但实体 ID 尚未解析。
  • 绑定到架构的实体的列级依赖关系。可以使用 sys.dm_sql_referenced_entities 返回非绑定到架构的对象的列级依赖关系。
  • 服务器级别的 DDL 触发器(在 master 数据库的上下文中时)。
sys.sql_modules 对每个 SQL 语言定义的模块对象都返回一行。类型为 P、RF、V、TR、FN、IF、TF 和 R 的对象均有关联的 SQL 模块。在此视图中,独立的默认值,即 D 类型的对象也具有 SQL 模块定义。有关这些类型的说明,请参阅 sys.objects 目录视图中的类型列。
sys.stats U、V 或 TF 类型表格对象的每个统计信息都对应一行。
sys.stats_columns sys.stats 统计信息包含的每列对应一行。
sys.synonyms 在该视图中,sys.objects.type = SN 的每个同义词对象对应一行。
sys.table_types 显示用户定义表类型的属性。表类型是指无法从其中声明表变量或表值参数的类型。每个表类型都包含 type_table_object_id,它是指向sys.objects 目录视图的外键。此 ID 可用于查询各种目录视图,查询方式与常规表的 object_id 类似,以便发现表类型的结构,如表的列、约束等。
sys.tables 为每个表对象返回一行,当前仅用于 sys.objects.type = U 的表对象。
sys.trigger_event_types 为可以激发触发器的每个事件或事件组返回一行。
sys.trigger_events 触发触发器的每个事件对应一行。
sys.triggers 每个类型为 TR 或 TA 的触发器对象对应一行。DML 触发器名称在架构范围内,因此,可在 sys.objects 中显示。DDL 触发器名称的作用域取决于父实体,只能在此视图中显示。parent_class 和 name 列唯一标识了数据库中的触发器。
sys.views ys.objects.type = V 的每个视图对象在该表中对应一行。

sql server2008系统表详细说明sys.开头的表的更多相关文章

  1. activiti工作流数据库表详细介绍 (23张表)

    Activiti的后台是有数据库的支持,所有的表的表名都以ACT_开头,表名的第二部分是用来表示表的用途的两个字母标识. 用途也和服务的API对应. ACT_RE_*: 'RE'表示repositor ...

  2. sql server2008安装说明 详细完整版

    SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本. 在现今数据的世界里,公司要获得成功和不断发展,他们 ...

  3. mssql sql server 系统更新,如何正确的增加表字段

    转自: http://www.maomao365.com/?p=5277摘要:下文主要讲述,如何对"已上线的系统"中的表,增加新的字段. 系统部署脚本,增加列的方法:在系统脚本发布 ...

  4. 关于SQL Server系统数据库详解

    介绍这里我们介绍SQL Sever内部的系统数据库的作用和用户数据库之间联系,关于SQL Sever如何管理用户数据库的原理,对于每个数据库开发人员和DBA都是必须掌握的. SQL Sever系统数据 ...

  5. SQLSERVER系统视图 sql server系统表详细说明

    参考 https://www.cnblogs.com/luluping/archive/2012/11/05/2754639.html https://www.cnblogs.com/litubin/ ...

  6. sql server系统表详细说明

    sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据库当前配置选 ...

  7. ms sql server 系统表详细说明

          sysaltfiles  主数据库 保存数据库的文件 syscharsets  主数据库字符集与排序顺序 sysconfigures 主数据库 配置选项 syscurconfigs 主数据 ...

  8. SQL Server系统表和常用函数(转)

    sysaltfiles 主数据库 保存数据库的文件 syscharsets 主数据库 字符集与排序顺序sysconfigures 主数据库 配置选项syscurconfigs 主数据库 当前配置选项s ...

  9. Sql server 系统表

    sql server系统表详细说明 SQL Server 用户库中系统表说明 名称 说明 备注 syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行.   sys ...

随机推荐

  1. JAVA动态编译辅助类

    一.场景 平时我们学学用到在JVM运行时,动态编译.java的源代码情况,比如作为灵活的配置文件.这时候就要用到动态编译,参考下列. 二.类内容 1.引入依赖: <!-- https://mvn ...

  2. 使用Spring框架入门三:基于XML配置的AOP的使用

    一.引入Jar包 <!--测试1使用--> <dependency> <groupId>org.springframework</groupId> &l ...

  3. kibana 显示 @timestamp 时间问题(utc or browser当前时间)自动转换显示

    https://github.com/elasticsearch/kibana/issues/95

  4. Definitaion of 'utsname' must be imported from module 'Darwin.POSIX.sys.utsname' before it is required

    https://stackoverflow.com/questions/34430354/objective-c-gettimeofday-must-be-imported

  5. Linux 防火墙命令的操作命令CentOS

    service firewalld status; #查看防火墙状态 systemctl start firewalld.service;#开启防火墙 systemctl stop firewalld ...

  6. Java千百问_05面向对象(005)_接口和抽象类有什么差别

    点击进入_很多其它_Java千百问 1.接口和抽象类有什么差别 在Java语言中.抽象类abstract class和接口interface是抽象定义的两种机制. 正是因为这两种机制的存在,才赋予了J ...

  7. logback-spring.xml配置示例

    <?xml version="1.0" encoding="UTF-8"?> <configuration> <include r ...

  8. 一网打尽2013最常用的NoSQL数据库

      摘要:与关系数据库相比,每个NoSQL都有自己不同的适用场景,这里带大家盘点文档数据库.图数据库.键值数据存储.列存储数据库与内存数据网络等领域的常用的NoSQL. 在几年内,NoSQL数据库一直 ...

  9. tomcat的war由于损坏不能解压导致的服务不能启动

    问题描述: Tomcat启动,提示异常,服务自动释放! INFO: Starting Servlet Engine: Apache Tomcat/ Sep , :: PM org.apache.cat ...

  10. CPP复习笔记 3

    --------------- CPP函数编译原理和成员函数的实现 从上节的分析中能够看出.对象的内存中仅仅保留了成员变量,除此之外没有不论什么其它信息,程序运行时不知道 stu 的类型为 Stude ...