T-SQL語法基礎


一、T-SQL語言的分類

  DDL-數據定義語言

    create-創建

    alter-修改

    drop-刪除(針對對象)

  DML-數據操作語言

    Insert-插入

    update-更新

    delete-刪除(針對對象的內容)

  DQL-數據查詢語言

    select-查詢

  DCL-數據控制語言

    revoke-撤銷

    deny-拒絕

    grant-同意、授權

 

二、語法元素

  批處理元素

    go-語法結束標志,執行前面的語句或一個完成的處理過程

    exec-調用執行存儲過程

  注釋

    行注釋:--

    塊注釋:/*  */

 

三、數據類型

  整數型

    Bigint:8個字節,范圍:-263~263-1,精度:19

    Integer:4個字節,范圍:-231~231-1,精度:10

    Smallint:2個字節,范圍:-215~215-1,精度:5

    Tinyint:1個字節,范圍0~255,精度:3

  精確數值型

    Numeric(5,3) -共五位數,其中三位是小數

    Decimal(15,5)-共15位數,其中五位是小數(默認精度為18)

    Decimal(p,s)-p為精度,s為小數位數

    精度為1-9,長度為5個字節

    精度為10-19,長度為9個字節

    精度為20-28,長度為13個字節

    精度為29-38,長度為17個字節

    注:Numeric與Decimal在是同義詞,可互換使用,建議使用Decimal

  近似數值型

    real等價於float(24)

    float[(n)]其中n為存儲float數值尾數的尾數(以科學記數法表示),因此可以確定精度和存儲大小。如果指定了n,則它必須是介於1和53之間的某個值。n的默認值為53。

 

n 值 精度 存儲大小
1-24 7 位數 4 個字節
25-53 15 位數

8 字節

   貨幣型

    Money 范圍:-263~263-1,精確小數后4位,占8個字節

    Smallmoney 范圍:-231-231-1,精確小數后4位,占4個字節

  位型

    bit 表示0或1

    SQL Server 數據庫引擎 可優化 bit 列的存儲。 如果表中的 bit 列為 8 列或更少,則這些列作為 1 個字節存儲。 如果 bit 列為 9 到 16 列,則這些列作為 2 個字節存儲,以此類推。

    字符串值 TRUE 和 FALSE 可轉換為 bit 值:TRUE 轉換為 1,FALSE 轉換為 0。

    轉換為 bit 會將任何非零值升為 1。

  日期時間型

    date 范圍:0001-01-01 到 9999-12-31 字符長度:10位 存儲大小:固定3個字節

    datetime 日期范圍:1753 年 1 月 1 日到 9999 年 12 月 31 日 時間范圍:00:00:00 到 23:59:59.997 字符長度:最低 19 位到最高 23 位 存儲大小:8 字節

    smalldatetime 日期范圍:1900-01-01 到 2079-06-06 時間范圍:00:00:00 到 23:59:59(2017-07-07 23:59:59 將舍入為2017-07-08 00:00:00) 字符長度:最高19位 存儲大小:固定4個字節 精度:一分鍾

    time 范圍:00:00:00.0000000 到 23:59:59.9999999 存儲大小:固定5個字節 精度:100納秒 字符長度:最小 8 位 (hh:mm:ss),最大 16 位 (hh:mm:ss.nnnnnnn)

  字符型

    char 固定長度(以空格填補多余長度)

    varchar 可變長度

    Nchar “Nuicode”固定長度

    Nvarchar “Nuicode”可變長度

    “Nuicode”國際標准碼:雙字節模式 如:一個漢字=兩個字節

  文本型

    text 一個字符占用一個字節,數據的最大長度為231-1(2,147,483,647)個字符

    Ntext 一個字符占用兩個字節,數據的最大長度為230-1(1,073,741,823)個字符

  使用數據類型的指導原則

    1.如果列的長度可變,使用某個可變數據類型

    2.要為以后數據的拓展預留空間

    3.精確數值型,建議使用decimal

    4.如果存儲量超過了8000字節,使用text.如果存儲量小於8000字節,使用char,可能時,最好使用varchar,原因在於它比text和image有更強的功能

    5.對於貨幣類型來說,使用money數據類型

    6.不要把float和real數據類型作為主鍵,原因在於這些數據類型的值是不精確的,它們不適於在比較中使用

 

四、標識符

  標准標識符

    標准標識符可以包含1到128位字符,包括字母,符號(_、@或#)及數字。標准標識符中不允許有空格。

  限定標識符([ ]/””)

    當對象名字包含空格時

    當保留關鍵字被用作對象名或對象部分的名字時

  標識符的命名規則

    名字盡量短

    盡量使用有意義的名字

    使用簡單的清晰的命名習慣

    使用能區分出對象類型的標識符,尤其是視圖和存儲過程的名字

    保持對象名和用戶名的唯一性

  特殊標識符

    # 局部臨時變量

    ## 臨時變量

    @ 局部變量

    @@ 全局變量

 

五、變量

  變量是可以賦值的SQL語句元素。

  在T-sql中,你可以使用局部變量。

  用戶可以使用decare語句來定義一個局部變量,通過使用set和select語句為這個局部變量賦值,局部變量名前必須帶有@.如果一個變量前有兩個@@符號,那么它將被作為函數處理。

  例:定義一個字符型變量,賦值為"customer",並顯示變量內容

  declare @tempName varchar(20)

  set @tempName='customer'

  select @tempName

 

六、運算符

  概述

    運算符是進行數學計算、字符操作及字段、常量和變量比較的符號。

  運算符的種類

    算述運算符:+,-,*,/,%

    比較運算符:=,>,<,>=,<=,<>   

    字符運算符:+

    邏輯運算符:and,or,not用於連接where 子句中的查詢條件

  運算符的優先級

運算符 優先級
+(正)-(負)~(按位取反) 1
*、/ 2
+(加),-(減) 3
=,>,<,>=,<=,<> 4
Not 5
And 6
all,between,in,like,or 7
=(賦值) 8


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM