时间:2021-05-23
1.系统表sysobjects
在数据库中创建的每个对象(例如约束、默认值、日志、规则以及存储过程)都对应一行。
列名 数据类型 说明
name
sysname
对象名
id
int
对象标识号
xtype
char(2)
对象类型。可以是以下对象类型之一:
AF = 聚合函数 (CLR)
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
L = 日志
FN = 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数
IF = 内联表函数
IT = 内部表
P = 存储过程
PC = 程序集 (CLR) 存储过程
PK = PRIMARY KEY 约束(类型为 K)
RF = 复制筛选存储过程
S = 系统表
SN = 同义词
SQ = 服务队列
TA = 程序集 (CLR) DML 触发器
TF = 表函数
TR = SQL DML 触发器
TT = 表类型
U = 用户表
UQ = UNIQUE 约束(类型为 K)
V = 视图
X = 扩展存储过程
uid
smallint
对象所有者的架构 ID。
对于从旧版 SQL Server 升级的数据库,架构 ID 等于所有者的用户 ID。
重要提示:如果使用以下任何一个 SQL Server DDL 语句,则必须使用 sys.objects 目录视图而不是 sys.sysobjects。 CREATE | ALTER | DROP USER CREATE | ALTER | DROP ROLE CREATE | ALTER | DROP APPLICATION ROLE CREATE SCHEMA ALTER AUTHORIZATION ON OBJECT如果用户数和角色数超过 32,767,则发生溢出或返回 NULL。
有关详细信息,请参阅查询 SQL Server 系统目录。
info
smallint
标识为仅供参考。不提供支持。不保证以后的兼容性。
status
int
标识为仅供参考。不提供支持。不保证以后的兼容性。
base_schema_ver
int
标识为仅供参考。不提供支持。不保证以后的兼容性。
replinfo
int
标识为仅供参考。不提供支持。不保证以后的兼容性。
parent_obj
int
父对象的对象标识号。例如,表 ID(如果父对象是触发器或约束)。
crdate
datetime
对象的创建日期。
ftcatid
smallint
注册为使用全文索引的所有用户表的全文目录标识符,对于没有注册的所有用户表则为 0。
schema_ver
int
在每次更改表的架构时都会增加的版本号。始终返回 0。
stats_schema_ver
int
标识为仅供参考。不提供支持。不保证以后的兼容性。
type
char(2)
对象类型。可以是下列值之一:
AF = 聚合函数 (CLR)
C = CHECK 约束
D = 默认值或 DEFAULT 约束
F = FOREIGN KEY 约束
FN = 标量函数
FS = 程序集 (CLR) 标量函数
FT = 程序集 (CLR) 表值函数 IF = 内联表函数
IT - 内部表
K = PRIMARY KEY 或 UNIQUE 约束
L = 日志
P = 存储过程
PC = 程序集 (CLR) 存储过程
R = 规则
RF = 复制筛选存储过程
S = 系统表
SN = 同义词
SQ = 服务队列
TA = 程序集 (CLR) DML 触发器
TF = 表函数
TR = SQL DML 触发器
TT = 表类型
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
标识为仅供参考。不提供支持。不保证以后的兼容性。
参考 sys.sysobjects (Transact-SQL)
2.syscolumns
为每个表和视图中的每列返回一行,并为数据库中的存储过程的每个参数返回一行。
列名 数据类型 说明
name
sysname
列名或过程参数的名称。
id
int
此列所属表的对象 ID,或者与此参数关联的存储过程的 ID。
xtype
tinyint
sys.types中的物理存储类型。
typestat
tinyint
标识为仅供参考。不提供支持。不保证以后的兼容性。
xusertype
smallint
扩展的用户定义数据类型的 ID。如果数据类型的数字超过 32,767,则溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。
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 = 列为标识列。
type
tinyint
sys.types中的物理存储类型。
usertype
smallint
sys.types 中的用户定义数据类型的 ID。如果数据类型数超过 32767,则会发生溢出或返回 NULL。有关详细信息,请参阅查询 SQL Server 系统目录。
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。
参考 sys.syscolumns (Transact-SQL)
删除某数据库内的表
declare dlist cursor for
select name from sysobjects where xtype='U'
open dlist
declare @n varchar(4000)
fetch next from dlist into @n
while @@fetch_status=0
begin
declare @es varchar(4000)
set @es='DROPtable '+@n
exec( @es)
fetch next from dlist into @n
end
close dlist
DEALLOCATE dlist
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文向大家介绍了使用SQL语句提取数据库所有表的表名、字段名的实例代码,在SQLserver中进行了测试,具体内容如下:--查询所有用户表所有字段的特征SELE
复制数据库表中两个字段数据的SQL语句今天为表新添加一个字段,但又想与表中的另一个字段值相同,由于数据过多想通过sql语句实现,经测试下面的这句话确实很好用。复
MySQL表别名(Alias)SQL表别名在SQL语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是SQL标准语法,几乎所有的数据库系统都支持。
sql语句查询数据库中的表名/列名/主键/自动增长值----查询数据库中用户创建的表----jsj01为数据库名selectnametablenamefromj
Access数据库中通过SQL语句找到某一表是否存在的确是一件困难的事,按照下面的步骤执行并在程序中通过SQL语句查询表是否存在。 Access数据库虽然