1 - SQL Server 2008 之 使用SQL語句創建具有約束條件的表


約束條件分為以下幾種:

1)非空約束,使用NOT NULL關鍵字;

2)默認值約束,使用DEFAULT關鍵字;

3)檢查約束,使用CHECK關鍵字;

4)唯一約束,使用UNIQUE關鍵字;

5)主鍵約束,使用PRIMARY KEY關鍵字;

6)外鍵約束,使用FOREIGN KEY關鍵字。

約束是確保數據的完整性,從而阻止不希望插入的數據被錄入。

 

以下使用一段SQL代碼進行演示:

USE PersonInfo  --使用PersonInfo數據庫
GO

IF EXISTS (SELECT * FROM sys.tables WHERE [name] = 'Employee ')  --如果存在Employee這張表
DROP TABLE Employee  --則刪除
GO

IF EXISTS(SELECT * FROM sys.tables WHERE [name] = 'Person')  --如果存在Person這張表
DROP TABLE Person --則刪除
GO

CREATE TABLE Person --創建Person(人物)表
(
  --索引
  PersonID int IDENTITY(1,1) NOT NULL CONSTRAINT PK_PersonID PRIMARY KEY,-- 創建一個整型、自增為1、標識種子為1、不允許為空、約束條件為主鍵約束的列PersonID
  --名字
  Name nvarchar(20) NOT NULL, --創建一個Unicode非固定長度(最多存儲20個Unicode字符)的列Name
  --年齡
  Age int NOT NULL  CONSTRAINT CK_Age CHECK (Age >= 18  AND Age<=55) ,--創建一個整型、約束條件為檢查約束的列Age
  --性別
  Gender bit NOT NULL CONSTRAINT DF_Gender  DEFAULT(1) , --創建一個類型為bit、默認值為1(True)的列Gender
  --身份信息
  [Identity] nchar(18) NOT NULL CONSTRAINT CK_Identity CHECK(LEN([Identity])=18)  
                                CONSTRAINT  UQ_Identity UNIQUE
  --創建一個非Unicode非固定長度(最多存儲18個非Unicode字符)的、約束條件為檢查約束的列Identity
)
GO CREATE TABLE Employee --創建Employee(雇員)表
(
    --索引
    EmployeeID int IDENTITY(1,1001) NOT NULL CONSTRAINT PK_ID PRIMARY KEY, -- 創建一個整型、自增為1、標識種子為1001、不允許為空、約束條件為主鍵約束的列EmployeeID
    --人物索引 
    PersonID int NOT NULL CONSTRAINT FK_PersonID FOREIGN KEY REFERENCES Person(PersonID),
    --職位 
    Post nvarchar(20) NOT NULL,--創建一個Unicode非固定長度(最多存儲20個Unicode字符)的列Post
    --入職時間 
    EntryTime datetime CONSTRAINT DF_EntryTime DEFAULT getdate() --創建一個類型為datetime、默認值為取服務器時間的列EntryTime
)
GO

結果:

 


免責聲明!

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



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