SQL server數據庫·創建表時約束條件的使用


一、建表的基本格式

語法:create table 表名(

字段一 類型,

字段二 類型,

······

)

eg:create table a(

intx int,

charx char,

)

 

二、常用約束條件:not null、unique、primary key、foregin key、check

 

1、Not null(非空約束)

--非空約束,被此關鍵詞約束的列不能是null

2、Unique(唯一約束)

--唯一約束,被此關鍵詞修飾的列不能有重復數據,但可以有null,但是null也最多只能有一個

3、Primary key(主鍵約束)

--主鍵約束,被此關鍵詞修飾的列不能重復也不可以為null

語法:

create table 表名(

字段名1 類型 Not null,

字段名2 類型 Unique,

字段名3 類型 Primary key,

)

eg:

create table a(

intx int Not null,

charx char Unique,

sno char Primary key,

)

 

4、Foregin key(外鍵約束)

--外鍵約束,被此關鍵詞修飾的列不能隨意輸入,取值只能從references后面跟的另一張表的括號里的那一列中取,且括號里面只能填表的唯一約束列

--eg中a表就是另一張表,sno就是a表中有唯一約束的那一列

語法:

create table 表名(

字段名 char foreign key references

另一張表名(另一張表中的有唯一約束的字段)

--唯一約束:primary key、unique

)

eg:

create table b(

sno char foreign key references a(sno)

)

 

5、check(條件約束)

--條件約束,被此關鍵詞修飾的列只能輸入符合約束條件的值

語法:

create table 表名(

字段名 char check (約束條件),

)

eg:

create table b(

sno char check (sno='a'),

--sno這列只能取值a,其他字符不能取

)

 

三、表級約束和行級約束

--直接跟在行后面的就是行級約束(上面都是),所有字段定義完成之后才進行約束就是表級約束

表級約束:

Eg:create table b(

sno char,

Primary key (sno),

--也是定義了sno是主鍵,在作用上和行級約束沒有區別

)


免責聲明!

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



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