首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL 語言快速入門(二):CREATE TABLE 建表語法、數據類型、約束條件與命名規範詳解

     編輯:關於SqlServer

CREATE TABLE 標準語法

CREATE TABLE table_name (
    column1 data_type [constraint],
    column2 data_type [constraint],
    column3 data_type [constraint],
    ...
);

所有 SQL 語句以分號 ; 結束。

命名規範(硬性限制)

  • 以**字母**開頭,後接字母、數字、下劃線 _。
  • 最大長度 30 字符(部分 DBMS 更長,遵循最嚴標準)。
  • **禁用保留關鍵字**:SELECT, CREATE, INSERT, UPDATE, DELETE, DROP, TABLE, INDEX, VIEW 等作為表/列名。

常用數據類型選型指南

列級約束條件(Constraint)

類型語法說明典型用途
定長字符CHAR(size)固定長度,右側空格填充,最大 255 字節ISO 代碼、狀態標誌、固定格式標識
變長字符VARCHAR(size)實際長度存儲,最大 255/8000 視 DBMS姓名、地址、描述、非 Unicode 文本
整數NUMBER(size) / INT最大位數 size,無小數ID、計數、年齡、數量
日期DATE年月日,部分含時間出生日期、訂單日期、生效日期
定點小數NUMBER(size, d)總位數 size,小數位 d價格、薪資、比率、精確金額

完整建表示例

CREATE TABLE Employee (
    EmpID INT PRIMARY KEY,
    FirstName VARCHAR(15) NOT NULL,
    LastName VARCHAR(20) NOT NULL,
    Age INT CHECK (Age >= 18 AND Age <= 65),
    Address VARCHAR(30),
    City VARCHAR(20),
    HireDate DATE DEFAULT GETDATE(),
    DeptID INT REFERENCES Department(DeptID)
);

進階提示

  • 表級約束:CONSTRAINT CK_Age CHECK (Age >= 18) 可命名、多列組合(如複合主鍵 PRIMARY KEY (OrderID, LineID))。
  • 標識符大小寫:標準 SQL 不區分,但建議統一風格(如 PascalCase 表名,camelCase 列名)。
  • 避免使用系統保留字作為標識符,若必須使用,雙引號 "Select" 或方括號 [Select] 轉義(視 DBMS)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
約束關鍵字語義示例
非空NOT NULL列值不能為 NULLName VARCHAR(20) NOT NULL
唯一UNIQUE列值唯一(允許單 NULL)Email VARCHAR(50) UNIQUE
主鍵PRIMARY KEY非空 + 唯一,標識行實體ID INT PRIMARY KEY
外鍵FOREIGN KEY REFERENCES引用父表主鍵/唯一鍵DeptID INT REFERENCES Dept(ID)
默認值DEFAULT未指定值時自動填充CreatedAt DATE DEFAULT GETDATE()
檢查CHECK值滿足布爾表達式Age INT CHECK (Age >= 0 AND Age <= 150)