获取表中各字段信息:
select * from syscolumns where id=object_id('表名')
获取表中主键的方法:
select * from sysobjects where xtype ='pk'
外键同理
举例:查询表'cdt_1x_basic'的字段信息(包括主键信息)
select a.*,
case b.IsPK when 1 then 1 else 0 end as IsPK
from
(
select * from syscolumns where id=object_id('dbo.cdt_1x_basic')
)a left join
(
SELECT TABLE_NAME,COLUMN_NAME,1 as IsPK FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE TABLE_NAME='cdt_1x_basic' --这里千万不能加前缀dbo.
)b on a.name=b.COLUMN_NAME
附1,系统表syscolumns的各字段及信息定义:
列名 数据类型 描述
name sysname 列名或过程参数的名称。
id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。
xtype tinyint systypes 中的物理存储类型。
typestat tinyint 仅限内部使用。
xusertype smallint 扩展的用户定义数据类型 ID。
length smallint systypes 中的最大物理存储长度。
xprec tinyint 仅限内部使用。
xscale tinyint 仅限内部使用。
colid smallint 列或参数 ID。
xoffset smallint 仅限内部使用。
bitpos tinyint 仅限内部使用。
reserved tinyint 仅限内部使用。
colstat smallint 仅限内部使用。
cdefault int 该列的默认值 ID。
domain int 该列的规则或 CHECK 约束 ID。
number smallint 过程分组时(0 表示非过程项)的子过程号。
colorder smallint 仅限内部使用。
autoval varbinary(255) 仅限内部使用。
offset smallint 该列所在行的偏移量;如果为负,表示可变长度行。
status tinyint 用于描述列或参数属性的位图:
0x08 = 列允许空值。
0x10 = 当添加 varchar 或 varbinary 列时,ANSI 填充生效。保留 varchar 列的尾随空格,保留 varbinary 列的尾随零。
0x40 = 参数为 OUTPUT 参数。
0x80 = 列为标识列。
type tinyint systypes 中的物理存储类型。
usertype smallint systypes 中的用户定义数据类型 ID。
printfmt varchar(255) 仅限内部使用。
prec smallint 该列的精度级别。
scale int 该列的小数位数。
iscomputed int 表示是否已计算该列的标志:
0 = 未计算。
1 = 已计算。
isoutparam int 表示该过程参数是否是输出参数:
1 = 真。
0 = 假。
isnullable int 表示该列是否允许空值:
1 = 真。
0 = 假。
附2,表syscolumns中xtype的数据类型对应说明
xtype 类型
34 image
35 text
36 uniqueidentifier
48 tinyint
52 smallint
56 int
58 smalldatetime
59 real
60 money
61 datetime
62 float
98 sql_variant
99 ntext
104 bit
106 decimal
108 numeric
122 smallmoney
127 bigint
165 varbinary
167 varchar
173 binary
175 char
189 timestamp
231 sysname
231 nvarchar
239 nchar
分享到:
相关推荐
本实验的目的是通过利用 SQLServer 系统表或视图来猜解字段,获取数据库中的敏感信息。在本实验中,我们将使用 SQLServer 的系统表和视图来猜解字段,并介绍猜解字段的方法和步骤。 一、 项目描述 猜解字段的方法...
这个压缩包"sqlserver 导出表及字段说明脚本.rar"包含了一个名为"sqlserver 导出表及字段说明脚本.sql"的文件,这通常是一个用于生成SQL语句的脚本,用于描述数据库中的表结构以及各字段的详细信息。以下是对这个...
可以导出SQLSERVER表及字段说明.
在C#编程中,SQL Server的时间戳(TimeStamp)字段是一个特殊的数据类型,它与我们通常理解的日期时间无关,而是用来记录数据行的版本或更改信息。本文将深入探讨如何在C#中读取和更新SQL Server中的Timestamp字段。...
通过本文的介绍,我们可以了解到在SQL Server中连接字段的具体方法,无论是对于字符类型的字段还是整数类型的字段,都有相应的解决方案。此外,文章还介绍了SQL Server中的一些常用字符串函数,这些函数可以进一步...
SQL Server 获取表名字段信息 SQL Server 是一个功能强大的关系数据库管理系统,提供了...通过使用这些系统视图,可以快速获取表名字段信息、字段列表和存储过程参数列表等信息,从而提高开发效率和数据库管理效率。
在SQL Server数据库管理系统中,自动增长(Identity)字段是一个非常重要的特性,主要用于为表中的记录生成唯一的标识符,通常作为主键使用。本教程将详细解释如何在SQL Server中设置和管理自动增长字段。 首先,...
sqlserver2005 自带的工具对 表的备注 和 字段的备注说明维护起来非常麻烦,而且不方便显示表或字段的备注信息,而一般开发人员很看重表和字段的备注。 为此,我作了一个 sqlserver2005 的小工具,特点: 1.能够对...
压缩包中的"SQL Server 2000系统表地图.chm"很可能是一个帮助文件,它详细地解释了每个系统表的字段含义和用途。通常,这种文档会包含如何查询这些表以获取特定信息的例子,以及如何使用这些信息来解决实际问题。...
3. **注释迁移**:在SQL Server中的表注释和字段注释,通常存储在系统视图中。C#代码需要查询这些视图获取注释信息,并在Oracle中使用`COMMENT ON TABLE`和`COMMENT ON COLUMN`语句添加注释。 4. **界面操作**:...
从Sql server 2008获取表字段属性信息,注释信息 。注意,字段说明除非有备注才显示,如果没有的的情况下显示空白是正常的。
通过访问系统表`sys.columns`和`sys.objects`,我们可以获取到所有表的信息以及它们的列信息。然后,利用这些信息构造动态SQL语句,执行这些语句就可以找到指定值出现的位置。 #### 三、实现步骤 1. **定义变量**:...
SQL Server是一款广泛使用的数据库管理系统,其内部包含了众多系统表,这些表存储了关于数据库实例、数据库对象、用户、权限等核心信息。理解这些系统表及其字段对于数据库管理员来说至关重要,因为它们提供了深入...
标题“C# 开发SQLSERVER数据库自动建表”表明我们将讨论一个使用C#开发的程序,该程序可以自动化创建SQL Server数据库中的表结构。这个功能对于数据导入、系统初始化或简化数据库管理流程非常有用。 描述中提到,该...
本操作文档将详细介绍如何使用Navicat客户端工具将SQL Server的表结构转换到MySQL数据库中。Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括SQL Server和MySQL,使得数据迁移变得简单而高效。 首先,...
本篇文章将深入解析“SqlServer查看表结构”的方法,以及如何利用SQL语句来获取详细的表结构信息,这对于数据库管理员(DBA)、数据分析师、软件开发者等专业人士来说尤为关键。 ### SQL Server查看表结构的重要性 ...
C# 获取 SQL Server 服务器名、数据库名、表名、以及字段名的方法归类 ...本文档提供了获取 SQL Server 服务器名、数据库名、表名、以及字段名的方法,帮助开发者快速获取 SQL Server 中的相关信息。
SQL Server 系统表详解 SQL Server 系统表是 SQL Server 数据库中的一组特殊的表,它们存储了...本文档只是对 SQL Server 系统表的简单介绍,更多的信息可以通过 Microsoft SQL Server 的官方文档和其他资源获取。
在本篇文章中,介绍了将Visual FoxPro(VFP)数据库中的通用(通用字段)信息导入到SQL Server数据库的实现方法,这在数据库升级和数据迁移过程中是一个非常关键的环节。 首先,我们需要了解Visual FoxPro中通用...
"Oracle|Sqlserver|MySql数据库表结构一键生成工具" 提供了一种高效的方法来自动化这个过程,大大减轻了手动编写文档的工作量。这款工具能够支持三种主流的关系型数据库管理系统:Oracle、SQL Server和MySQL。 ...