查询数据库的所有列信息 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
时间: 2024-09-30 08:30:42

查询数据库的所有列信息 sys.all_columns的相关文章

【mysql元数据库】使用information_schema.tables查询数据库和数据表信息

概述 对于mysql和Infobright等数据库,information_schema数据库中的表都是只读的,不能进行更新.删除和插入等操作,也不能加触发器,因为它们实际只是一个视图,不是基本表,没有关联的文件. information_schema.tables存储了数据表的元数据信息,下面对常用的字段进行介绍: table_schema: 记录数据库名: table_name: 记录数据表名: engine : 存储引擎: table_rows: 关于表的粗略行估计: data_lengt

C#-关于带参数的单例模式的思考(利用带参数的单例模式连接并查询数据库特定表的信息)

首先,让我们看一下单例模式是怎样的. public sealed class Singleton { private static Singleton instance = null; private static readonly object padlock = new object(); Singleton() { } public static Singleton Instance { get { if (instance == null) { lock (padlock) { if (

SQL Server 查询数据库表的列数

1 select count(*) from sysobjects a 2 join syscolumns b 3 on a.id=b.id 4 where a.name='表名' 5 go

SQL Server —— 查询数据库、表、列等

一.查询数据库(sys.databases -- select *from sys.databases where name='<数据库名>') select *from sys.databases where name='MyDatabase' 二.查询表(sysobjects -- select *from sysobjects where id=OBJECT_ID('<表名>')) select *from sysobjects where id=OBJECT_ID('Stu

SQL Server查询数据库空间分配情况、数据库备份信息

查询数据库空间分配情况: 1 use master 2 go 3 create procedure dbo.proc_getdbspaceused 4 as 5 begin 6 set nocount on 7 create table #dbsize( 8 database_id int 9 ,database_name nvarchar(1024) 10 ,size_kb bigint 11 ,space_available_kb bigint 12 ,reserved_kb bigint

获取映射注解,查询数据库字段的信息

//通过循环 可以获得 注解中的name值@Column(name="EO_XXX"),本方法获取的是 get方法的注解 Method[] methods= EoOrderMaterielModel.class.getMethods();  Map<String,String> modelColumns=new HashMap<String, String>();  for(Method m:methods){   Annotation ats[]=m.getA

使用HQL语句的按照参数名字查询数据库信息的时候 “=:”和参数之间不能存在空格,否则会报错

问题描述: 今天在使用HQL的按照参数的名字查询数据库信息的时候报错如下: org.hibernate.QueryException: Space is not allowed after parameter prefix ':' [from Users user where user.address=: userAddress] at org.hibernate.engine.query.spi.ParameterParser.parse(ParameterParser.java:95) at

查询数据库中某一列有没有重复数据项

查询数据库中某一列有没有重复数据项: select * from cd_stock where stock_bh in (select stock_bh from cd_stock group by stock_bh having count(stock_bh) >1 ) select * from cd_stock_item where id in (select id from cd_stock_item group by id having count(id) >1 ) 原文地址:htt

mybatis高级(2)_数据库中的列和实体类不匹配时的两种解决方法_模糊查询_只能标签

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper namespace="cn.cnsdhzzl.dao.StudentDao&q