MSSQL三个关键系统表sysdatabases,sysobjects,syscolumns作用分析
2882 点击·0 回帖
![]() | ![]() | |
![]() | 分析MSSQL三个关键系统表 sysdatabases MSSQL中对sysdatabases系统表 的说明: Microsoft SQL Server 上的每个数据库在表中占一行。最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。该表只存储在 master 数据库中。 www.atcpu.com 这个表保存在master数据库中,这个表中保存的是什么信息呢?这个非常重要。他是 保存了,所有的库名,以及库的ID,和一些相关信息。 这里我把对于我们有用的字段名称和相关说明给大家列出来.看好咯! name dbid //表示库的名字. //表示库的ID. dbid从1到5是系统的。分别是:master、model、msdb、mssqlweb、tempdb 这五个库. 我们利用SQL语句:select * from master.dbo.sysdatabases 就可以查询出所有的库名. sysobjects MSSQL中对sysobjects系统表的说明: 在数据库内创建的每个对象(约束、默认值、日志、规则、存储过程等)在表中占一行。只有在 tempdb 内,每个临时对象才在该表中占一行。 这个是列出数据库对象的系统表。当然数据库表名也在里面的. 这里我就为大家列出一些对我们有用的字段名称和相关说明. name id xtype uid 对象名. 对象ID 对象类型 所有者对象的用户ID。 对象类型(xtype)。可以是下列对象类型中的一种: C = CHECK 约束 D = 默认值或 DEFAULT 约束 F = FOREIGN KEY 约束 L = 日志 www.atcpu.com FN = 标量函数 IF = 内嵌表函数 P = 存储过程 PK = PRIMARY KEY 约束(类型是 K) RF = 复制筛选存储过程 S = 系统表 TF = 表函数 TR = 触发器 U = 用户表 UQ = UNIQUE 约束(类型是 K) V = 视图 X = 扩展存储过程 当然我们这里只用得到xtype=“U“的值。当等于U的时候,对象名就是表名,对象ID就是表的ID值. 我们利用SQL语句: select * from ChouYFD.dbo.sysobjects where xtype=“U“ 这样就可以列出库名称是:ChouYFD中所有的表名. syscolumns SQL中syscolumns系统表的说明: 每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。 www.atcpu.com 这个就是列出一个表中所有的字段列表的系统表。 这里我就为大家列出一些对我们有用的字段名称和相关说明: name id colid //字段名称 //表ID号. 字段ID号. 其中的 ID 是 刚上我们用sysobjects得到的表的ID号. 我们利用SQL语句: select * from ChouYFD.dbo.syscolumns where id=123456789 得到ChouYFD这个库中,表的ID是123456789中的所有字段列表. | |
![]() | ![]() |