sqlserver数据库中的表、字段sql语句

所属分类: 数据库 / MsSql 阅读数: 1088
收藏 0 赞 0 分享

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。

ms177596.note(zh-cn,SQL.105).gif重要提示:
如果使用以下任何一个 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 = 添加 varcharvarbinary 列时,执行 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='DROP table  '+@n
         exec( @es)  
  fetch next from dlist into @n
 end
close dlist
DEALLOCATE dlist

更多精彩内容其他人还在看

sqlserver中将varchar类型转换为int型再进行排序的方法

sql中把varchar类型转换为int型然后进行排序,如果我们数据库的ID设置为varchar型的 在查询的时候order by id的话
收藏 0 赞 0 分享

在SQL Server中使用SQL语句查询一个存储过程被其它所有的存储过程引用的存储过程名

在项目开发中如果有时修改了一个存储过程,但是如何能够快速的查找到使用了这个存储过程的其它存储过程呢
收藏 0 赞 0 分享

sqlserver bcp(数据导入导出工具)一般用法与命令详解

bcp是SQL Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据
收藏 0 赞 0 分享

重命名SQLServer数据库的方法

本文讲解重命名SQLServer 数据库,包括物理文件名、逻辑文件名的改名
收藏 0 赞 0 分享

SQL Server中通过reverse取某个最后一次出现的符号后面的内容(字符串反转)

昨天在项目中遇到了一个非常简单的问题,需要把SQL Server数据库中保存的一段路径地址取出其文件名,但SQL Server又没有现成的方法,最后在网上找到这样的一个方法,原理是先将字符串反转,取出第一个/的位置,从头进行截取后再次反转
收藏 0 赞 0 分享

使用SqlBulkCopy时应注意Sqlserver表中使用缺省值的列

今天,想将以前做的一个程序增加点功能,原本就使用SqlBulkCopy批量、定时的从目录中的txt文件导入数据到Sqlserver中。以前一直都使用正常,但是不知怎的就老是出现一个错误
收藏 0 赞 0 分享

Sqlserver 2000/2005/2008 的收缩日志方法和清理日志方法

讲解一下sql 2005日志怎么清理。一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大
收藏 0 赞 0 分享

SQL Server 2000 清理日志精品图文教程

SQL Server 2000 数据库日志太大!如何清理SQL Server 2000的日志呢
收藏 0 赞 0 分享

SQL行号排序和分页(SQL查询中插入行号 自定义分页的另类实现)

如何在SQL中对行进行动态编号,加行号这个问题,在数据库查询中,是经典的问题
收藏 0 赞 0 分享

sql分类汇总及Select的自增长脚本

对错误信息进行分类汇总,并实现错误数据的自增长编号
收藏 0 赞 0 分享
查看更多