查询数据库的所有列信息 sys.all_columns
一、Database.sys.tables
为每个表对象返回一行,当前仅用于 sys.objects.type = U 的表对象。
列名 | 数据类型 | 说明 |
<继承的列> | 有关此视图所继承列的列表,请参阅sys.objects (Transact-SQL)。 | |
lob_data_space_id | int | 一个非零值,是保存此表的 text、ntext 和 image 数据的磁盘空间(文件组或分区架构)的 ID。 |
0 = 表不包含 text、ntext 或 image 数据。 | ||
filestream_data_space_id | int | 是 FILESTREAM 文件组或包含 FILESTREAM 文件组的分区方案的数据空间 ID。 |
若要报告 FILESTREAM 文件组的名称,请执行查询 SELECT FILEGROUP_NAME (filestream_data_space_id) FROM sys.tables。 | ||
sys.tables 可以按 filestream_data_space_id = data_space_id 与下列视图联接。 | ||
sys.filegroups | ||
sys.partition_schemes | ||
sys.indexes | ||
sys.allocation_units | ||
sys.fulltext_catalogs | ||
sys.data_spaces | ||
sys.destination_data_spaces | ||
sys.master_files | ||
sys.database_files | ||
backupfilegroup(按 filegroup_id 联接) | ||
max_column_id_used | int | 此表曾使用的最大列 ID。 |
lock_on_bulk_load | bit | 表被锁定于大容量加载。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 |
uses_ansi_nulls | bit | 创建表时,SET ANSI_NULLS 数据库选项设置为 ON。 |
is_replicated | bit | 1 = 使用快照复制或事务复制发布表。 |
has_replication_filter | bit | 1 = 表具有复制筛选器。 |
is_merge_published | bit | 1 = 使用合并复制发布表。 |
is_sync_tran_subscribed | bit | 1 = 使用立即更新订阅来订阅表。 |
has_unchecked_assembly_data | bit | 1 = 表包含的持久化数据依赖于上次 ALTER ASSEMBLY 期间其定义发生更改的程序集。在下一次成功执行 DBCC CHECKDB 或 DBCC CHECKTABLE 后将重置为 0。 |
text_in_row_limit | int | Text in row 的最大允许字节数。 |
0 = 未设置 Text in row 选项。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 | ||
large_value_types_out_of_row | bit | 1 = 超行存储大值类型。有关详细信息,请参阅 sp_tableoption (Transact-SQL)。 |
is_tracked_by_cdc | bit | 1 = 为表启用变更数据捕获。有关详细信息,请参阅 sys.sp_cdc_enable_table (Transact-SQL)。 |
lock_escalation | tinyint | 表的 LOCK_ESCALATION 选项的值如下: |
0 = TABLE | ||
1 = DISABLE | ||
2 = AUTO | ||
lock_escalation_desc | nvarchar(60) | 表的 lock_escalation 选项的文本说明。可能的值有:TABLE、DISABLE 和 AUTO。 |
二、Database.sys.tables
显示属于用户定义对象和系统对象的所有列的联合。
列名 | 数据类型 | 说明 |
object_id | int | 此列所属对象的 ID。 |
name | sysname | 列的名称。 在对象中是唯一的。 |
column_id | int | 列的 ID。 在对象中是唯一的。 |
列 ID 可以不按顺序排列。 | ||
system_type_id | tinyint | 列的系统类型 ID。 |
user_type_id | int | 用户定义的列类型的 ID。 |
sys.types catalog view on this column.' data-guid="b0b47381e6de7b9b4c9a2d8419e6e4da">若要返回该类型的名称,请在该列中联接到 sys.types 目录视图。 | ||
max_length | smallint | 列的最大长度(字节)。 |
varchar(max), nvarchar(max), varbinary(max), or xml." data-guid="0c77804b7dd62539ef8a07509467c2a2">-1 = 列数据类型为varchar(max)、nvarchar(max)、varbinary(max) 或 xml。 | ||
text columns, the max_length value will be 16 or the value set by sp_tableoption 'text in row'." data-guid="98d994a86bf9798d86ac9709e4af7160">对于 text 列,max_length 值为 16 或 sp_tableoption 'text in row' 设置的值。 | ||
precision | tinyint | 如果列包含的是数值,则为该列的精度;否则为 0。 |
scale | tinyint | 如果列包含的是数值,则为列的小数位数;否则为 0。 |
collation_name | sysname | 如果列包含的是字符,则为该列排序规则的名称;否则为 NULL。 |
is_nullable | bit | 1 = 列可为空。 |
is_ansi_padded | bit | 1 = 如果列为字符、二进制或变量类型,则该列使用 ANSI_PADDING ON 行为。 |
0 = 列不是字符、二进制或变量类型。 | ||
is_rowguidcol | bit | 1 = 列为声明的 ROWGUIDCOL。 |
is_identity | bit | 1 = 列具有标识值 |
is_computed | bit | 1 = 列为计算列。 |
is_filestream | bit | 1 = 列声明使用 Filestream 存储。 |
is_replicated | bit | 1 = 列已复制。 |
is_non_sql_subscribed | bit | 1 = 列具有非 SQL Server 订阅服务器。 |
is_merge_published | bit | 1 = 列已合并发布。 |
is_dts_replicated | bit | 1 = 使用 SSIS 复制列。 |
is_xml_document | bit | 1 = 内容为完整的 XML 文档。 |
0 = 内容是文档片段,或列的数据类型不是 XML。 | ||
xml_collection_id | int | xml and the XML is typed." data-guid="311ce97a424bdda8c74254759fd38936">如果列是 xml 并且已键入 XML,则其值为非零值。 该值将是包含列的验证 XML 架构命名空间的集合的 ID。 |
0 = 没有 XML 架构集合。 | ||
default_object_id | int | sys.sp_bindefault, or an in-line, column-level DEFAULT constraint.' data-guid="afbc8a31feda9962fdda53edf35a0b83">默认对象的 ID,无论该对象是独立的 sys.sp_bindefault 还是内联的列级 DEFAULT 约束。 内联列级默认对象的 parent_object_id 列是对该表本身的反引用。 |
0 = 无默认值。 | ||
rule_object_id | int | sys.sp_bindrule. ' data-guid="0bb3f24933b0f4c57475ea0934d6695c">使用 sys.sp_bindrule 绑定到列的独立规则的 ID。 |
0 = 无独立规则。 | ||
sys.check_constraints (Transact-SQL).' data-guid="e337ec327bbb0ba2240080ad6290d96d">有关列级 CHECK 约束,请参阅 sys.check_constraints (Transact-SQL)。 | ||
is_sparse | bit | 1 = 列为稀疏列。 有关详细信息,请参阅使用稀疏列。 |
is_column_set | bit | 1 = 列为列集。 有关详细信息,请参阅使用列集。 |
三、type_name
TYPE_NAME ( type_id )
返回指定类型 ID 的未限定的类型名称。
可以使用sys.types表达到同样效果:Select * From Sys.types
四、SQL 语句
Select
A.name As 'Table Name', B.name As 'Column Name',
type_name(B.user_type_id) As 'Data Type', B.max_length,
B.precision, scale, is_nullable, is_identity
From sys.tables A
Left Join sys.all_columns B On A.object_id = B.object_id
Order By A.object_id,B.column_id
查询数据库的所有列信息 sys.all_columns的更多相关文章
- 【mysql元数据库】使用information_schema.tables查询数据库和数据表信息
概述 对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没 ...
- (转)【mysql元数据库】使用information_schema.tables查询数据库和数据表信息 ---数据记录大小统计
转:https://www.cnblogs.com/ssslinppp/p/6178636.html https://segmentfault.com/q/1010000007268994?_ea=1 ...
- SQL Server中查询数据库及表的信息语句
/* -- 本文件主要是汇总了 Microsoft SQL Server 中有关数据库与表的相关信息查询语句. -- 下面的查询语句中一般给出两种查询方法, -- A方法访问系统表,适应于SQL 20 ...
- oracle查询数据库最大连接数等信息
.当前的数据库连接数 select count(*) from v$process where program='ORACLE.EXE(SHAD)'; .数据库允许的最大连接数 select valu ...
- SQL Server 查询数据库表的列数
select count(*) from sysobjects a join syscolumns b on a.id=b.id where a.name='表名' go
- 查询数据库对象的DDL信息
表的DDL select dbms_metadata.get_ddl('HBBL','TABLE','AGREEMENT_MIRROR') from dual:
- MSSQL·查询数据库中所有索引的相关信息
阅文时长 | 0.45分钟 字数统计 | 784字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查询数据库中所有索引的相关信息』 编写人 | SCscHero 编写时间 ...
- [置顶] oracle 快速查询数据库各种信息、及转换对应java代码
1 查询表中数据量 select 'select '||''''||t.TABLE_NAME||''''||' as table_name, count(*) from '|| t.TABLE_NAM ...
- SQL Server —— 查询数据库、表、列等
一.查询数据库(sys.databases —— select *from sys.databases where name='<数据库名>') select *from sys.data ...
随机推荐
- IoC概要
控制反转基本上说的是功能调用者与功能实现者之间应该如何交互,即二者之间没有直接的强耦合(调用者new一个被调用者),而是都依赖同一个抽象,这个抽象规定了二者交互的接口.反转的意思是实现了依赖倒置,在程 ...
- c# 委托与事件的区别
委托与事件的区别 委托和事件没有可比性,因为委托是数据类型,事件是对象(可以理解为对委托变量的封装.),下面说的是委托的对象(用委托方式实现的事件)和(标准的event方式实现)事件的区别.事件的内部 ...
- day04.1-三元表达式与列表解析
1. 三元表达式 name = input("请输入:") res = "英雄" if name=="令狐冲" else "伪君子 ...
- jquery遍历-filter()
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Connection Timeout和Command Timeout
每次对数据库连接时,我们有时候会碰到连接超时或者命令超时,这两个超时是不一样的.以ADO.NET为例,当客户端和服务器端连接时,碰到的超时情况主要有下面几种: 当从连接池获取一个连接时,碰到超时. 当 ...
- jquery源码解析:pushStack,end,ready,eq详解
上一篇主要讲解了jQuery原型中最重要的方法init.接下来再讲一些比较常用的原型方法和属性 core_slice = [].slice, jQuery.fn = jQuery.prototype ...
- [Objective-C语言教程]开发环境设置(2)
如果要安装自己的Objective-C编程语言编程环境,则需要在计算机上安装文本编辑器和GCC编译器. 1. 文本编辑器 文本编辑器用于编写程序代码.一些常见的编辑器如:Windows Notepad ...
- UItextInput-Protocol
UItextInput是一个protocol,一般来说,文字处理的控件都要遵守这个协议.如UITextField,UITextView.下面介绍一些文字处理的基本概念. marked text 对于多 ...
- python3入门之print,import,input介绍
本节主要介绍print,import和input,t函数,包括他们在python2.7和python3 的区别以及用法.下面附有之前的文章: python3的print函数的变化 python3之 ...
- 运算符重载入门demo
#include "pch.h" #include <iostream> using namespace std; class A { public: A(int x, ...