SQL Server - 創建表約束


創建表約束

先創建如下兩張表

--Jeremy 
--2020.02.07 
--SQL Server表數據添加約束
--UserInfo表

USE AspNet --指向當前所操作的數據庫名稱,這里即AspNet
GO
--為用戶表添加約束
ALTER TABLE UserInfo
ADD CONSTRAINT PK_UserId        PRIMARY KEY (UserId),--主鍵約束
    --檢查約束:密碼長度大於等於3
    CONSTRAINT CK_UserId        CHECK(LEN(UserPwd)>=3),
    --檢查約束:性別只能是字符男或女
    CONSTRAINT CK_UserGender    CHECK(UserGender='' OR UserGender=''),
    --檢查約束:郵箱中必須包含@符號
    CONSTRAINT CK_UserEmail    CHECK(UserEmail LIKE '%@%'),
    --檢查約束:刪除標識只能是0或者1
    CONSTRAINT CK_DelFlag        CHECK(DelFlag='0' OR DelFlag='1'),
    --默認約束:刪除標識為NULL時,默認為0
    CONSTRAINT DF_DelFlag        DEFAULT(0) FOR DelFlag,
    --默認約束:注冊日期為NULL時,默認為當前系統時間
    CONSTRAINT DF_RegDate        DEFAULT(GETDATE()) FOR RegDate
GO

GO
ALTER TABLE UserDetail
ADD CONSTRAINT PK_UserDetail        PRIMARY KEY (UserDetailID),--主鍵約束
    --外鍵約束:UserID內容必須在UserInfo表的UserID中存在
    CONSTRAINT FK_UserID            FOREIGN KEY(UserID) REFERENCES UserInfo(UserID)     
GO

 

  作者:Jeremy.Wu
  出處:https://www.cnblogs.com/jeremywucnblog/
  本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。


免責聲明!

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



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