-
2022-04-01 16:17:19
列名 数据类型 描述 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 = 假更多相关内容 -
数据库查询 sysobjects,syscolumns
2021-01-26 03:51:31sysobjectssysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束、默认值、...1.查询数据表中的字段 EShop为数据库名TbAdmin为表名use EShopselect name="name" from syscolumnswhere id=object_id(N...sysobjects
sysobjects是系统自建的表,里面存储了在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等),各在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。
1.查询数据表中的字段 EShop为数据库名TbAdmin为表名
use EShop
select name="name" from syscolumns
where id=object_id(N'dbo.TbAdmin')
2.查询数据库中的表
select name from EShop..sysobjects where type='u'
3. 查询数据库中列名包含user 或者 owner 的所有表名和对应的完整列名
select a.[name] as tablename,b.[name] as columnname from EShop..syscolumns a
inner join EShop..sysobjects b on a.id=b.id
where b.xtype='U' and (a.[name] like '%user%' OR a.[name] like '%owner%')
4.SQL中object_id函数的用法
int object_id('objectname');
此方法返回数据库对象标识号。
其中,参数objectname 表示要使用的对象,其数据类型为nchar或char(如果为char,系统将其转换为nchar)
返回类型为int,表示该对象在系统中的编号。
比如:
use wf_timesheet
select object_id('usp_check_excess_hours')
5.SQLServer中sysobjects表和syscolumns各个字段的意义
sysobjects表的各个字段的意义
列名数据类型描述
name
sysname
对象名。
Id
int
对象标识号。
xtype
char(2)
对象类型。可以是下列对象类型中的一种:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
IF = 内嵌表函数
P = 存储过程
PK = PRIMARY KEY 约束(类型是 K)
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
UQ = UNIQUE 约束(类型是 K)
V = 视图
X = 扩展存储过程
uid
smallint
所有者对象的用户 ID。
info
smallint
保留。仅限内部使用。
status
int
保留。仅限内部使用。
base_schema_
ver
int
保留。仅限内部使用。
replinfo
int
保留。供复制使用。
parent_obj
int
父对象的对象标识号(例如,对于触发器或约束,该标识号为表 ID)。
crdate
datetime
对象的创建日期。
ftcatid
smallint
为全文索引注册的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver
int
版本号,该版本号在每次表的架构更改时都增加。
stats_schema_
ver
int
保留。仅限内部使用。
type
char(2)
对象类型。可以是下列值之一:
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
IF = 内嵌表函数
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
TF = 表函数
TR = 触发器
U = 用户表
V = 视图
X = 扩展存储过程
userstat
smallint
保留。
sysstat
smallint
内部状态信息。
indexdel
smallint
保留。
refdate
datetime
留作以后使用。
version
int
留作以后使用。
deltrig
int
保留。
instrig
int
保留。
updtrig
int
保留。
seltrig
int
保留。
category
int
用于发布、约束和标识。
cache
smallint
保留。
syscolumns表的各个字段的意义
列名数据类型说明
name
sysname
列名或过程参数的名称。
id
int
此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。
xtype
tinyint
sys.types 中的物理存储类型。
typestat
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
xusertype
smallint
扩展的用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
length
smallint
sys .types 中的最大物理存储长度。
xprec
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
xscale
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
colid
smallint
列 ID 或参数 ID。
xoffset
smallint
标识为仅供参考。不提供支持。不保证以后的兼容性。
bitpos
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
reserved
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
colstat
smallint
标识为仅供参考。不提供支持。不保证以后的兼容性。
cdefault
int
此列的默认值的 ID。
domain
int
此列的规则或 CHECK 约束的 ID。
number
smallint
过程分组时的子过程号。
0 = 非过程项
colorder
smallint
标识为仅供参考。不提供支持。不保证以后的兼容性。
autoval
varbinary(8000)
标识为仅供参考。不提供支持。不保证以后的兼容性。
offset
smallint
此列所在行的偏移量。
collationid
int
列的排序规则的 ID。 对于非字符列,此值为 NULL。
status
tinyint
用于说明列或参数的属性的位图:
0x08 = 列允许空值。
0x10 = 添加 varchar 或 varbinary 列时,执行 ANSI 填充。 保留 varchar 列的尾随空格以及 varbinary 列的尾随零。
0x40 = 参数为 OUTPUT 参数。
0x80 = 列为标识列。
类型
tinyint
sys .types 中的物理存储类型。
usertype
smallint
sys.types 中的用户定义数据类型的 ID。 如果数据类型的数字超过 32,767,则溢出或返回 NULL。
printfmt
varchar(255)
标识为仅供参考。不提供支持。不保证以后的兼容性。
prec
smallint
此列的精度级别。
-1 = xml 或大值类型。
scale
int
此列的小数位数。
NULL = 数据类型不是数值。
iscomputed
int
指示列是否为计算列的标志:
0 = 非计算列。
1 = 计算列。
isoutparam
int
指示过程参数是否为输出参数:
1 = True
0 = False
isnullable
int
指示列是否允许空值:
1 = True
0 = False
collation
sysname
列的排序规则的名称。 如果不是基于字符的列,则为 NULL。
-
认识SQLSERVER中的syscolumns表
2021-01-30 01:18:18syscolumns:存储数据库所有表的列通过SQL查询syscolumns表从查询结果可以看到表中有很多字段,重点关注一下name、id字段name: 字段名id: 所属表的id,此id外键关联的就是系统表sysobjects的id字段可以理解为name+id...syscolumns:存储数据库所有表的列
通过SQL查询syscolumns表
从查询结果可以看到表中有很多字段,重点关注一下name、id字段
name: 字段名
id: 所属表的id,此id外键关联的就是系统表sysobjects的id字段
可以理解为name+id字段是syscolumns的联合主键
如果要查询某张表的所有列可通过以下三种SQL查询:
select A.name from syscolumns A INNER JOIN sysobjects B on A.id=B.id and B.name='表名'
select A.name from syscolumns A where EXISTS (select 1 from sysobjects B where B.id=A.id and B.name='表名')
select A.name from syscolumns A where A.id=(select id from sysobjects B where B.name=''表名')
还有一种更简单的方式:
select A.name from syscolumns A where A.id=OBJECT_ID('表名') ,通过OBJECT_ID函数获取sysobjects表中的id
经常使用的还有在某表添加字段或者删除字段
--新增字段
if not exists(select 1 from syscolumns where id=object_id('表名') and name = '字段名')
begin
alter table 表名
add 字段名 类型(长度)
end
--删除字段
if exists(select 1 from syscolumns where id=object_id('表名') and name = '字段名') begin alter table 表名 drop column 字段名 end
-
syscolumns表结构
2020-04-30 15:26:54列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint systypes中的物理存储类型。... co...列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint 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 = 假。select
a.name column_name,
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then 1 else 0 end) column_Identity,--标识
(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'))>0 then 1 else 0 end) column_pk,--主键,
b.name column_type,--类型,
a.length column_bitlength,--占用字节数,
COLUMNPROPERTY(a.id,a.name,'PRECISION') as column_length,--长度,
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as column_dec,--小数位数,
(case when a.isnullable=1 then 1 else 0 end) column_isnull,--允许空,
isnull(e.text,'') column_def,--默认值,
isnull(g.[value],'') as column_properties --字段说明
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
WHERE
OBJECT_NAME( A.ID ) = N'CGQSJB'
order by a.id,a.colorder -
GBase 8s 系统表syscolumns字段说明
2020-08-20 09:51:53系统表syscolumns保存的是表的字段信息。其包含的主要字段如下: 字段名称 字段类型 说明 colname VARCHAR(128) 字段名称 tabid INTEGER 该字段所属的表的唯一ID colno SMALLINT 字段编号(表内) ... -
MSSQL三个关键系统表sysdatabases,sysobjects,syscolumns作用分
2021-02-01 23:16:35syscolumns SQL中syscolumns系统表的说明: 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 www.dedecms.com 这个就是列出一个表中所有的字段列表的系统表。 这里... -
15 SYSCOLUMNS
2022-05-30 12:02:12syscolumns 系统目录表描述数据库中的每个列。 对于在表或视图中定义的每一列,都会有一行存在。 表 10. SYSCOLUMNS 表 列 类型 解释 colname VARCHAR(128) 列名 tabid INTEGER 包含列的表的标识代码 colno SMALLINT... -
数据库表syscolumns 各个字段含义
2019-02-25 11:31:22每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息 ...select isnullable from syscolumns where id=object_id('TY_EMBASIC') and name= 'EMPTYPEID' 列名 数据类型 描述 name... -
Sqlserver 中系统表sysobjects、syscolumns以及函数object_id
2021-03-03 21:06:363、SQL中的sysobjects与syscolumns 查看所有表名: select name from sysobjects where type=‘U‘ 查询表的所有字段名: Select name from syscolumns Where ID=OBJECT_ID(‘表名‘) ? 4、SQL中object_id函数的... -
sysobjects syscolumns和SysTypes笔记
2019-08-11 12:56:56select * from syscolumns where id = object_id('TableName') 查找表 TableName 的列信息 更多参考http://msdn.microsoft.com/zh-cn/library/ms186816.aspx 3. systypes 为数据库中定义的每种系统提供的数据... -
sqlserver数据库表syscolumns 各个字段含义
2020-08-26 11:24:52每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息。 每个表和视图中的每列在表中占一行,...select isnullable from syscolumns where id=object_id(‘TY_EMBASIC’) and name= ‘EMPTYPEID’ ... -
GBase 8s 系统表syscolumns介绍
2022-01-19 16:37:36syscolumns表结构 系统表syscolumns保存的是表的字段信息。其包含的主要字段如下: 说明:在tabid和colno上建有复合主键。 coltype类型 coltype代码可通过叠加位值显示列的以下特征。 如: 包含NOT NULL属性的... -
sql server 系统表sysobjects、sysindexes、syscolumns以及常用方法
2021-04-23 10:40:45syscolumns:每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。 这三张表用ID(表ID)字段关联,共用一个ID,具体的字段含义这里就不一一列举了,接下来给大家分享我们可以用这个几张表干... -
Informix 系统表(syscolumns)中字段类型(coltype)字段的含义
2013-09-06 12:50:04Informix 系统表(syscolumns)中字段类型(coltype)字段的含义, 字段类型说明和查询SQL语句 -
sql server 中syscolumns表内的xtype的数字与数据类型对应表
2020-04-09 13:35:45查了一下,这些东西都是存于每一个数据库的syscolumns表里面得,name就是列名,xtype就是数据类型,但是这个xtype是数字的,下面是数字和数据类型对应的关系; xtype=34 'image'xtype= 35 'text'xtype=36 '... -
MSSQL三个关键系统表sysdatabases,sysobjects,syscolumns作用分析(转)
2021-01-19 18:42:36syscolumns SQL中syscolumns系统表的说明: 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 这个就是列出一个表中所有的字段列表的系统表。 这里我就为大家列出... -
syscolumns
2011-12-07 10:55:00每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名数据类型描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或...仅限... -
sql server 中 syscolumns 各个字段的意义
2021-02-01 23:16:43列名 数据类型 描述name sysname 列名或过程参数的名称。id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。xtype tinyint systypes 中的物理存储类型。typestat tinyint 仅限内部使用。... -
sql系统表syscolumns和sysobjects中 xtype 对应的类型
2019-03-22 14:37:431,syscolumns中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 ... -
SQL系统表sysobjects和syscolumns字段属性介绍
2016-06-16 15:52:47syscolumns 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该... -
数据库表syscolumns 各个字段含义 select * from syscolumns where name='textA'
2016-11-08 08:33:00每个数据库创建后都会有一些系统表用来存储该数据库的一些基本信息 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 列名数据类型描述 ...systypes中... -
SQL Server 常用系统表(二) syscolumns
2016-12-06 10:12:28(一) syscolumns 系统的字段表 保存当前数据库中的所有字段。 syscolumns 表结构(常用字段解释): 列名 数据类型 描述 name sysname 字段名称 id int 字段所在表id xtype tinyint -
sql中系统表syscolumns中xtype代表的字段
2020-12-01 11:04:32select name,xtype from syscolumns where id=(select id from sysobjects where name='tab_AAA' and xtype = 'U') and ((COLUMNPROPERTY(OBJECT_ID('tab_AAA','U'),NAME,'IsIdentity') <> 1) ... -
sysdatabases 和sysobjects与 syscolumns
2019-08-09 17:39:44select * from syscolumnswhere id = OBJECT_ID(‘movie’) and name = ‘type’ 查看某一字段在表中的列的排号,名称,数据类型,长度: select colid as ‘column’, name, type_name(xtype) as ‘data type’... -
SQL 通过syscolumns.xtype动态查找指定数据类型字段所包含的数据
2016-08-31 10:59:00表中太多列,只想查找某些比如...select * from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='test_A') 2、查找指定数据类型,xtype就是数据类型,参考如下 sysc... -
sysobjects syscolumns
2015-10-24 16:55:00在sysobjects系统表中存储着数据库的所有对象,每个对象都有一个唯一的id号进行标识.object_id就是根据对象名称返回该对象... select * from syscolumns where [id]=object_id('shop_voice') and [name]='voice6_id' ... -
SQLServer中SYSCOLUMNS表的各个字段的意义
2014-05-23 12:05:09SQLServer中SYSCOLUMNS表的各个字段的意义 列名 数据类型 描述 name sysname 列名或过程参数的名称。 id int 该列所属的表对象 ID,或与该参数关联的存储过程 ID。 xtype tinyint systypes 中的物理...