国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

SQL系統表和兼容性視圖使用

2024-07-21 02:51:43
字體:
來源:轉載
供稿:網友

sql server系統表詳細說明

名稱 地址 說明
sysaltfiles 主數據庫 保存數據庫的文件
syscharsets 主數據庫 字符集與排序順序
sysconfigures 主數據庫 配置選項
syscurconfigs 主數據庫 當前配置選項
sysdatabases 主數據庫 服務器中的數據庫
syslanguages 主數據庫 語言
syslogins 主數據庫 登陸帳號信息
sysoledbusers 主數據庫 鏈接服務器登陸信息
sysPRocesses 主數據庫 進程
sysremotelogins 主數據庫 遠程登錄帳號
syscolumns 每個數據庫
sysconstrains 每個數據庫 限制
sysfilegroups 每個數據庫 文件組
sysfiles 每個數據庫 文件
sysforeignkeys 每個數據庫 外部關鍵字
sysindexs 每個數據庫 索引
sysmembers 每個數據庫 角色成員
sysobjects 每個數據庫 所有數據庫對象
syspermissions 每個數據庫 權限
systypes 每個數據庫 用戶定義數據類型
sysusers 每個數據庫 用戶

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


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宿迁市| 工布江达县| 宝山区| 渭南市| 黄陵县| 无为县| 南阳市| 南靖县| 连州市| 永吉县| 临桂县| 白山市| 宜丰县| 修水县| 赣州市| 天峨县| 铜陵市| 延津县| 远安县| 和田县| 崇义县| 云安县| 靖西县| 揭东县| 西林县| 九龙城区| 辉县市| 双流县| 武胜县| 石屏县| 南木林县| 毕节市| 云安县| 新乡市| 天祝| 潍坊市| 志丹县| 天气| 长海县| 武义县| 东兰县|