系统表的作用:用户自定义的表对自己填充的数据进行操作。而对sql server来说,用户自定义的表就相当于为系统表填充的数据,故用系统表来操作用户数据库,
数据表,存储过程等数据。 系统表操作用户自定义表,用户自定义表操作外来的数据。
1,sysobjects表:万物皆对象,这是一个系统对象表。表,存储过程,触发器都是对象,都存在此表内。此表用crdate 等保存 对象的创建日期。
查找用户表: select *?? from sysobjects where xtype = ‘U’ AND status >0
??????? 因dtproperties虽是系统表,但类型为’U', 但status为负数,故得到纯净的用户表时要将其除去。dtproperties这个表里保存的是关系图
查存储过程: select *?? from sysobjects where xtype = ‘P’
注:Type是在SQL SERVER 6.0就有的,xType在SQL SERVER 7.0才出现,Type的保留只是为了向后兼容。
?????
?????? 相关函数:object_id(‘mytable’),查出对象名在sysobjects表中的id值
??????????????????????? object_id ( object_id ), 据id查出对象名
2,sys.servers 查看所有本地服务器及链接服务器 select * from master..sysservers 该表只存储在 master 数据库中。
3,sys.databases 查询非sa创建的所有数据库 select * from master..sysdatabases 该表只存储在 master 数据库中。
4, sys.columns 获取表或视图的所有字段,存储过程或函数的所有参数 select name from syscolumns where id=object_id(‘表名’)
5,sys.indexes 数据库中的每个索引。
6, sys.logins? 每个登录帐户在表中占一行。
7,?? sys.processes 数据库进程信息 ,只存储在 master 数据库中。
?? 查看用户进程信息 select spid,uid,syslogins.name,login_time,net_address from sysprocesses,syslogins where sys.processes.sid=syslogins.sid
8,sysdepends? 查看与某一个表相关的视图、存储过程、函数? select * from sysdepends where depid=object_id(‘表名’)
9,sysmessages SQL SERVER返回的内部错误都有在这里,可自行修改,当错误发生时显示自己指示的信息。
10,sysfiles 保存当前数据库所在文件大小,路径等信息。
11,INFORMATION_SCHEMA 当前数据库的每个 CHECK 约束在该视图中占一行。该信息架构视图返回当前用户对其拥有权限的对象的有关信息。
?????? 查询某个表的哪些字段不允许为空
??????????? select COLUMN_NAME from INFORMATION_SCHEMA.COLUMNS where IS_NULLABLE=’NO’ and TABLE_NAME=’bdorder’
上一篇: 从多个Excel中导入数据入库
下一篇: 乱码