程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL Server 工作技巧

SQL Server 工作技巧

編輯:關於SqlServer

       1、 isnull();函數

      在SQL Server 中經常會遇到一些字段為空值,這裡可以使用isnull()這個函數來做判斷;eg:

      select isnull(Table_column,'Test') as column from Table

      這個語句意思就是:從Table表中取字段Table_column,如果該字段值為空,則用“Test”字符來代替;

      2、sysobject

      SQL Server中有一個系統對象表 sysobject 這個表裡存儲了數據庫中所有的對象,比如約束,默認值,日志,規則,存儲過程,表名等等,詳細可以查看幫助手冊;

      select name from sysobject where Xtype='U'

      這語句就是講數據庫中所有的表名查出來;

      Xtype可以取值為以下:

      C = CHECK 約束

      D = 默認值或 DEFAULT 約束

      F = FOREIGN KEY 約束

      FN = 標量函數

      IF = 內嵌表函數

      K = PRIMARY KEY 或 UNIQUE 約束

      L = 日志

      P = 存儲過程

      R = 規則

      RF = 復制篩選存儲過程

      S = 系統表

      TF = 表函數

      TR = 觸發器

      U = 用戶表

      V = 視圖

      X = 擴展存儲過程

      AF = 聚合函數 (CLR)

      FS = 程序集 (CLR) 標量函數

      FT = 程序集 (CLR) 表值函數

      IF = 內聯表函數

      IT = 內部表

      PC = 程序集 (CLR) 存儲過程

      PK = PRIMARY KEY 約束(type 為 K)

      SN = 同義詞

      SQ = 服務隊列

      TA = 程序集 (CLR) DML 觸發器

      TT = 表類型

      UQ = UNIQUE 約束(type 為 K)

      3、SQL Server 2008工具使用;

      新建立一個數據庫表時,當建立好了,但又要修改,有時候DB會阻止對表結構的修改,需要設置如下:

      SQLServer----"tool"----"option"----"Designers"----"prevent saving changes that require table recreating" 去掉這個“阻止修改”選項;

      4、nvarchar(Max)

      SQL Server 中Max是最大值,其定義是4000,nvarchar(Max) 其實就是nvarchar(4000);

      5、select * from table

      在數據庫中,一般小數據量的select * from table 不會發覺有什麼慢,但是一旦到了大數據量的數據庫中,這種查詢是最慢的最耗時間的!數據庫的開銷會很大!

      所以不要輕易的在大數據表上執行不帶條件的select cout(*) from table,不僅耗時大,而且會把這個數據庫表上S鎖,在cout(*)期間,任何有關和該表的insert update delete都會被阻止!!!

      6、getdate()

      getdate()函數用於獲得當前系統的系統時間這個精確到了毫秒:eg:"2013-12-12 12:23:33:321"

      7、newid()

      這個不用多說了,做主鍵ID時最常用了,此函數可以生成一個唯一的guid,32位長,這個強度大,而且由數據庫系統生成,具有唯一性!

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved