SQL系统表和兼容性视图使用
来源:互联网 发布:看电影啥软件好? 编辑:程序博客网 时间:2024/06/08 19:08
sql server系统表详细说明
1、查看表和试图
SELECT * FROM sys.objects WHERE object_id = object_id('表名或视图名')
在sqlserver中一般可通过查询sys.objects系统表来得知结果,不过可以有更方便的方法
如下:
if object_id('tb_table') is not null print 'exist' else print'not exist'
如上,可用object_id()来快速达到相同的目的,tb_table就是我将要创建的资源的名称,所以要先判断当前数据库中不存在相同的资源
object_id()可接受两个参数,第一个如上所示,代表资源的名称,上面的就是表的名字,但往往我们要说明我们所要创建的是什么类型的资源,
这样sql可以明确地在一种类型的资源中查找是否有重复的名字,如下:
if object_id('tb_table','u') is not null print 'exist' else print'not exist'
第二个参数 “u” 就表示tb_table是用户创建的表,即:USER_TABLE地首字母简写
查询sys.objects中可得到各种资源的类型名称(TYPE列),这里之举几个主要的例子
- u ———– 用户创建的表,区别于系统表(USER_TABLE)
- s ———– 系统表(SYSTEM_TABLE)
- v ———– 视图(VIEW)
- p ———– 存储过程(SQL_STORED_PROCEDURE)
2、查看表的列名
select * from syscolumns where id=object_id('表名') and name='列名'
3、查看数据库
select * from sys.databases where name = 'student'
4、查看备份设备
"select * from sys.backup_devices where name ='backupdb'(添加备份设备:exec sp_addumpdevice 'disk','backupdb','d:\\backup\\backupdb.bak')
5、查看数据文件
select name, physical_name dbfile from sys.master_files where database_id=db_id('student') master数据库中sysdatabases表(是sqlserver中所有的数据库的库名) :
如果你要查询的是所有数据库(用户/系统):
select * from master..sysdatabases
如果你要查询的是用户数据库,则使用:
select * from master..sysdatabases where dbid > 4
如果你要查询的是系统数据库,只需要把where字句改为dbid < 4即可。
6、查看执行的sql语句
SELECT cacheobjtype,objtype,usecounts,sql from sys.syscacheobjects where sql not like'%cach%' and sql not like '%sys.%'
2.对应数据库中sysobjects表(反应的是相应数据库中所有的对象):
这个表的用处是最大的,因为它里面存放的有:表(系统/用户)、存储过程(系统/用户)、视图、主键、外键等。
这里就不一一说明了。
比如你sqlserver中有个数据库名叫 test,如果要查询该数据库中的所有表对象:
select * from test..sysobjects where type = ’u’ or type = ’s’
这里的type = ’u’是表示用户表对象,type = ’s’是系统表对象,怎样单独查询用户表对象或者系统表对象就不用说了吧。
如果你要查询的是存储过程当然也分了系统和用户了:
这个是查询数据库中所有存储过程
select * from test..sysobjects where type = ’p’
如果你要查询的是用户存储过程则加上 and category <> 2 即可。
查询系统存储过程就不用说了吧(category = 2 谁不知道。。。)
查询视图与查询存储过程一样,比如:
你查询的是数据库中所有视图
select * from test..sysobjects where type = ’v’
如果你要查询的是用户视图则加上 and category <> 2 即可。
其他的就不说了,就把 它们的type给大家说下:
- type = ’ pk’ 表示主键。
- type = ’ d’ 外键引用。
- type = ’uq’ 唯一索引。
http://www.cnblogs.com/accumulater/p/6214029.html
https://zhidao.baidu.com/question/415824360.html
- SQL系统表和兼容性视图使用
- sql系统视图和应用
- SQL Server 2000 ——系统表和系统视图
- oracle维护常用SQL语句(查看系统表和视图)
- (js)强制不使用“兼容性视图”
- SQL Server 2005 联机丛书 - 兼容性视图 (Transact-SQL)
- SQL Server 2000 基础(4)——系统表和系统视图
- SQL视图的创建和使用
- SQL视图的创建和使用
- SQL视图的概念和使用
- PostgreSQL系统表和视图
- SQL Server系统视图
- sql server系统视图
- Oracle维护常用SQL语句(查询系统表和视图)
- Oracle维护常用SQL语句(查询系统表和视图)
- html5 video 兼容性和使用
- [转] 使用SQL脚本查看表空间使用率和使用dba_tablespace_usage_metrics视图的区别
- SQL视图的使用
- github上值得关注的前端项目
- 怎么让每个li之间有距离
- jenkins报错PermGen space
- 115. Distinct Subsequences--动态规划的方法
- Spring整合Redis用作缓存-注解方式
- SQL系统表和兼容性视图使用
- uva10256 The Great Divide
- nginx1.6编译安装
- C/S和B/S两种架构区别与优缺点简要分析
- Rails g -h报错json:_rb_str_new_static的解决
- idea 不能new package
- minicom 在arm linux平台的交叉编译
- 关于AVL(二叉平衡树)的思路
- 改变浏览器滚动条样式