转载

T-SQL----系统表

T-SQL

T-SQL---- 系统表

T-SQL-----存储过程

前言

虽说现在orm,nosql对数据的操作会减少很多t-sql的编程,但是t-sql这应该是每个程序员要掌握的,接下来的两周准备把这块知识点进行系统总结。

1.系统表

存储SQL所有的系统信息。存储有关数据库服务中的元数据所谓元数据即(比如数据服务器有哪些用户数据库、数据库服务器有哪些登陆账号,

数据库中都有哪些表,每个表都有哪些字段 每个数据库有哪些存储过程、视图等等的数据),系统表一般sys开头。

任何用户都不应直接更改系统表。( 不要尝试使用 DELETE、UPDATE、INSERT 语句或用户定义的触发器修改系统表。)

若要检索存储在系统表中的信息,应用程序应使用下列组件之一:

  • 系统存储过程

  • Transact-SQL 语句和函数

  • SQL Server 管理对象 (SMO)

  • 复制管理对象 (RMO)

  • 数据库 API 目录函数

2.几个重要的系统表

2.1.sysdatabases

Microsoft SQL Server 上的每个数据库在表中占一行。

最初安装 SQL Server 时,sysdatabases 包含 master、model、msdb、mssqlweb 和 tempdb 数据库的项。

关键字段:

name :库的名字;

dbid :库的ID,dbid从1到5是系统的。分别是:master、model、msdb、mssqlweb、tempdb 这五个库。

select * from master.dbo.sysdatabases 就可以查询出所有的库名。

2.2.Sysobjects

SQL-SERVER的每个数据库内都有此系统表,它存放该数据库内创建的所有对象,如约束、默认值、日志、规则、存储过程等。

关键字段

Name:对象名称

id:对象ID

xtype(type):对象类型

uid:所有者对象用户id

status:对象状态。

对象类型(xtype)。可以是下列对象类型中的一种:

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 = 扩展存储过程 

当xtype='U' and status>0代表是用户建立的表,对象名就是表名,对象ID就是表的ID值(object_id(‘表名’))。                        

select * from wyl_db.dbo.sysobjects where xtype='U' and status>0-- 就可以列出库

判断是否存在


if (object_id('proc_get_student', 'P') is not null)--判断存储过程是否存在 另外一种  if (exists (select * from sys.objects where name = 'proc_get_student'))//

注: proc_get_student 是一个存储过程名称,p代表是对象类型为存储过程,对象类型,就上面已列出。

2.3.syscolumns

每个表和视图中的每列在表中占一行,存储过程中的每个参数在表中也占一行。该表位于每个数据库中。

关键字段有:

name :字段名称

id:表的id号

colid :字段id号。

其中的 ID 是 刚上我们用sysobjects得到的表的ID号。

判断是否存在

     IF COL_LENGTH('A', 'C') IS NOT NULL 

        注:A是表名

            C是列名    

    或者:   
    select   *   from   syscolumns   where   id=object_id('表名')   and   name='列名' 

        注:存在则返回此列的一条说明记录,不存在返回空;

3.其他系统表

 wyl_dbwyl_db.dbo. 

sysaltfiles 保存数据库的文件 

syscharsets    字符集与排序顺序 

sysconfigures   配置选项 

syscurconfigs   当前配置选项 

syslanguages    语言 

syslogins      登陆帐号信息 

sysoledbusers   链接服务器登陆信息 

sysprocesses   进程 

sysremotelogins 远程登录帐号 

sysconstrains  限制 

sysfilegroups  文件组 

sysfiles      文件 

sysforeignkeys  外部关键字 

sysindexs     索引 

sysmenbers    角色成员 

syspermissions  权限 

systypes      用户定义数据类型 

sysusers      用户
原文  http://www.cnblogs.com/kmonkeywyl/p/5765232.html
正文到此结束
Loading...