sysobjects表: sysobjects 是sqlserver中的系統物件表,儲存系統中的當前所有物件,包括表、儲存過程、檢視、主鍵、外來鍵、約束等
通過sql查詢sysobjects ,並沒有排序,查詢結果i預設通過id排序
sysobjects 有幾個比較重要的字段
name: object名稱
id: object id,從查詢結構看id欄位應該是主鍵,不重複
xtype: object型別
uid: object所有者id
觀察到xtype不在是s,下面介紹一下xtype的多種值
c = check 約束
d = 預設值或 default 約束
f = foreign key 約束
fn =
標量函式
if = 內嵌表函式
pk = primary key
l = 日誌
p =
儲存過程
r = 規則
rf = 複製篩選儲存過程
s = 系統表
tf = 表函式
tr =
觸發器u = 使用者表
v = 檢視
x = 擴充套件儲存過程
af =
聚合函式 (
clr)
fs = 程式集 (clr) 標量函式
ft = 程式集 (clr) 錶值函式
if = 內聯表函式
it = 內部表
pc = 程式集 (clr)
儲存過程
pk = primary key 約束
sn = 同義詞
sq = 服務佇列
ta = 程式集 (clr) dml 觸發器
tt = 表型別
uq = unique 約束
我覺得需要記住的型別為
p = 儲存過程 s=系統表 u=使用者表 tr=觸發器
從查詢結果看出系統表的uid 4,使用者表的uid為1,而表中並沒有id為1、4的行資料,可以理解系統自動隱藏了幾個非常重要的id,並且它們並沒有uid
觀察到id的長度不在一位或者兩位,已變成多位,可以猜想出非系統已內建的id都是類似於uuid,防止重複衝突
下面介紹下常用功能
如果需要查詢當前資料庫中有多少張使用者表,執行sql: select count(1) from sysobjects where xtype='u'
如果需要查詢當前資料庫是否已存在某張表,執行sql: select count(1) from sysobjects where name='表名'
如果需要新建表,且先判斷當前資料庫是否已存在,執行sql:
if not exists(select 1 from sys.objects where name='表名')
begin
create table [dbo].[表名](
[欄位名1] [型別](長度) null,
[欄位名2] [型別](長度 null,
.........
) on [primary]
endgo
Python中sys模組用法
sys.argv 實現從程式外部向程式傳遞引數,獲取程式的路徑並傳遞 sys模組有乙個argv變數,用list儲存了命令列的所有引數。argv至少有乙個元素,因為第乙個引數永遠是該.py檔案的名稱.sys.exit arg 程式中間的退出,arg 0為正常退出.sys.version 獲取pytho...
Python中 os 與 sys 模組
os和sys模組 python常見模組命令 一 os python的標準庫中的os模組主要涉及普遍的作業系統功能。可以在linux和windows下執行,與平台無關。os.sep 可以取代作業系統特定的路徑分割符。os.name字串指示你正在使用的平台。比如對於windows,它是 nt 而對於li...
python 中的常用sys 模組
sys path.py import sys print sys.path 結果為 home python desktop demo usr lib python35.zip usr lib python3.5 usr lib python3.5 plat x86 64 linux gnu usr ...