重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊、服務(wù)器等服務(wù)
今天就跟大家聊聊有關(guān)Sql Server各系統(tǒng)表說明及使用方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司長期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊從業(yè)經(jīng)驗10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為達(dá)坂城企業(yè)提供專業(yè)的成都網(wǎng)站制作、成都做網(wǎng)站,達(dá)坂城網(wǎng)站改版等技術(shù)服務(wù)。擁有十余年豐富建站經(jīng)驗和眾多成功案例,為您定制開發(fā)。
我們平時寫一般的SQL語句的時候,可能不會用到系統(tǒng)表,不過在一些特殊的情況下就會用到了,比如說在系統(tǒng)運用的時候,我們根據(jù)日期動態(tài)創(chuàng)建的數(shù)據(jù)表,如果要從里面獲取數(shù)據(jù)的時候最好需要加上判斷這個表是否存在,如果存在我們就從表里面取數(shù)據(jù),如果不存在就跳出。
我們先介紹一下各個系統(tǒng)表的作用,后面再取幾個例子來說明用法。
SQL系統(tǒng)表
sysaltfiles 主數(shù)據(jù)庫 保存數(shù)據(jù)庫的文件
syscharsets 主數(shù)據(jù)庫 字符集與排序順序
sysconfigures 主數(shù)據(jù)庫 配置選項
syscurconfigs 主數(shù)據(jù)庫 當(dāng)前配置選項
sysdatabases 主數(shù)據(jù)庫 服務(wù)器中的數(shù)據(jù)庫
syslanguages 主數(shù)據(jù)庫 語言
syslogins 主數(shù)據(jù)庫 登陸帳號信息
sysoledbusers 主數(shù)據(jù)庫 鏈接服務(wù)器登陸信息
sysprocesses 主數(shù)據(jù)庫 進(jìn)程
sysremotelogins 主數(shù)據(jù)庫 遠(yuǎn)程登錄帳號
syscolumns 每個數(shù)據(jù)庫 列
sysconstrains 每個數(shù)據(jù)庫 限制
sysfilegroups 每個數(shù)據(jù)庫 文件組
sysfiles 每個數(shù)據(jù)庫 文件
sysforeignkeys 每個數(shù)據(jù)庫 外部關(guān)鍵字
sysindexs 每個數(shù)據(jù)庫 索引
sysmenbers 每個數(shù)據(jù)庫 角色成員
sysobjects 每個數(shù)據(jù)庫 所有數(shù)據(jù)庫對象
syspermissions 每個數(shù)據(jù)庫 權(quán)限
systypes 每個數(shù)據(jù)庫 用戶定義數(shù)據(jù)類型
sysusers 每個數(shù)據(jù)庫 用戶
代碼演示
1.判斷數(shù)據(jù)表存在
我們要從數(shù)據(jù)庫里查詢付款流水的信息,付款流水表默認(rèn)的是txsPayFlow表,后面的tXsPayFlow$201805是代表2018年5月的付款流水,這個表是每個月自動創(chuàng)建的,所以如果我們要查2018年5月的銷售時就要從代年月的分割表里查詢。
正常來說我們查一下18年5月的流水直接就寫
因為我們的軟件里沒有做6月的月結(jié),所以6月的表沒創(chuàng)建,如果我們這里要查6月的數(shù)據(jù),用上面的方法會直接報錯了
這個時候我們的系統(tǒng)表就起到作用了,上面寫到sysobjects可以看到數(shù)據(jù)庫的對象,所以我們首先判斷這個表是否在系統(tǒng)里存在,如果存在取數(shù)據(jù),不存在輸出無此表信息。
這樣代碼就可以正常運行了。
2.給數(shù)據(jù)表里增加字段
一般我們程序升級的時候,數(shù)據(jù)庫有可能也會增加字段,為了多次執(zhí)行不報錯,我們在添加字段的時候就需要判斷表里面是否有這個字段。
判斷我們要增加字段的表里是否有這個字段用到了sysobjects,syscolumns這兩個表,通過兩個表里的ID關(guān)聯(lián),來判斷是否有我們要增加的列
例:我們要在balance表里面增加一個sflag的列。
通過關(guān)聯(lián)查詢我們可以看到系統(tǒng)表里的列
這樣我們寫增加一個sflag的列的代碼
當(dāng)執(zhí)行完第一次時,下面提示的命令已成功完成,我們從數(shù)據(jù)庫里已經(jīng)看到了列也增加了
然后我們再執(zhí)行一次
下面的提示里面就告訴我們列已經(jīng)存在了。
看完上述內(nèi)容,你們對Sql Server各系統(tǒng)表說明及使用方法有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。