您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)Sql Server各系統(tǒng)表說明及使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
我們平時(shí)寫一般的SQL語(yǔ)句的時(shí)候,可能不會(huì)用到系統(tǒng)表,不過在一些特殊的情況下就會(huì)用到了,比如說在系統(tǒng)運(yùn)用的時(shí)候,我們根據(jù)日期動(dòng)態(tài)創(chuàng)建的數(shù)據(jù)表,如果要從里面獲取數(shù)據(jù)的時(shí)候最好需要加上判斷這個(gè)表是否存在,如果存在我們就從表里面取數(shù)據(jù),如果不存在就跳出。
我們先介紹一下各個(gè)系統(tǒng)表的作用,后面再取幾個(gè)例子來說明用法。
SQL系統(tǒng)表
sysaltfiles 主數(shù)據(jù)庫(kù) 保存數(shù)據(jù)庫(kù)的文件
syscharsets 主數(shù)據(jù)庫(kù) 字符集與排序順序
sysconfigures 主數(shù)據(jù)庫(kù) 配置選項(xiàng)
syscurconfigs 主數(shù)據(jù)庫(kù) 當(dāng)前配置選項(xiàng)
sysdatabases 主數(shù)據(jù)庫(kù) 服務(wù)器中的數(shù)據(jù)庫(kù)
syslanguages 主數(shù)據(jù)庫(kù) 語(yǔ)言
syslogins 主數(shù)據(jù)庫(kù) 登陸帳號(hào)信息
sysoledbusers 主數(shù)據(jù)庫(kù) 鏈接服務(wù)器登陸信息
sysprocesses 主數(shù)據(jù)庫(kù) 進(jìn)程
sysremotelogins 主數(shù)據(jù)庫(kù) 遠(yuǎn)程登錄帳號(hào)
syscolumns 每個(gè)數(shù)據(jù)庫(kù) 列
sysconstrains 每個(gè)數(shù)據(jù)庫(kù) 限制
sysfilegroups 每個(gè)數(shù)據(jù)庫(kù) 文件組
sysfiles 每個(gè)數(shù)據(jù)庫(kù) 文件
sysforeignkeys 每個(gè)數(shù)據(jù)庫(kù) 外部關(guān)鍵字
sysindexs 每個(gè)數(shù)據(jù)庫(kù) 索引
sysmenbers 每個(gè)數(shù)據(jù)庫(kù) 角色成員
sysobjects 每個(gè)數(shù)據(jù)庫(kù) 所有數(shù)據(jù)庫(kù)對(duì)象
syspermissions 每個(gè)數(shù)據(jù)庫(kù) 權(quán)限
systypes 每個(gè)數(shù)據(jù)庫(kù) 用戶定義數(shù)據(jù)類型
sysusers 每個(gè)數(shù)據(jù)庫(kù) 用戶
代碼演示
1.判斷數(shù)據(jù)表存在
我們要從數(shù)據(jù)庫(kù)里查詢付款流水的信息,付款流水表默認(rèn)的是txsPayFlow表,后面的tXsPayFlow$201805是代表2018年5月的付款流水,這個(gè)表是每個(gè)月自動(dòng)創(chuàng)建的,所以如果我們要查2018年5月的銷售時(shí)就要從代年月的分割表里查詢。
正常來說我們查一下18年5月的流水直接就寫
因?yàn)槲覀兊能浖餂]有做6月的月結(jié),所以6月的表沒創(chuàng)建,如果我們這里要查6月的數(shù)據(jù),用上面的方法會(huì)直接報(bào)錯(cuò)了
這個(gè)時(shí)候我們的系統(tǒng)表就起到作用了,上面寫到sysobjects可以看到數(shù)據(jù)庫(kù)的對(duì)象,所以我們首先判斷這個(gè)表是否在系統(tǒng)里存在,如果存在取數(shù)據(jù),不存在輸出無(wú)此表信息。
這樣代碼就可以正常運(yùn)行了。
2.給數(shù)據(jù)表里增加字段
一般我們程序升級(jí)的時(shí)候,數(shù)據(jù)庫(kù)有可能也會(huì)增加字段,為了多次執(zhí)行不報(bào)錯(cuò),我們?cè)谔砑幼侄蔚臅r(shí)候就需要判斷表里面是否有這個(gè)字段。
判斷我們要增加字段的表里是否有這個(gè)字段用到了sysobjects,syscolumns這兩個(gè)表,通過兩個(gè)表里的ID關(guān)聯(lián),來判斷是否有我們要增加的列
例:我們要在balance表里面增加一個(gè)sflag的列。
通過關(guān)聯(lián)查詢我們可以看到系統(tǒng)表里的列
這樣我們寫增加一個(gè)sflag的列的代碼
當(dāng)執(zhí)行完第一次時(shí),下面提示的命令已成功完成,我們從數(shù)據(jù)庫(kù)里已經(jīng)看到了列也增加了
然后我們?cè)賵?zhí)行一次
下面的提示里面就告訴我們列已經(jīng)存在了。
看完上述內(nèi)容,你們對(duì)Sql Server各系統(tǒng)表說明及使用方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。