當前位置:首頁 » 編程語言 » Sql的約束有幾種
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

Sql的約束有幾種

發布時間: 2022-09-25 21:23:42

sql中的幾種約束的創建與刪除

約束的目的就是確保表中的數據的完整性。
常用的約束類型如下:
主鍵約束:(Primary Key constraint) 要求主鍵列唯一,並且不允許為空
唯一約束:(Unique Constraint) 要求該列唯一,允許為空,但只能出現一個空值
檢查約束:(Check Constraint) 某列取值范圍限制、格式限制等。如有關年齡的限制
默認約束:(Default Constraint) 某列的默認值,如我們的男性學員比較多,性別默認為男
外鍵約束:(Foreign Key Constraint) 用於在兩表之間建立關系,需要指定引用主表的哪一列
一、添加約束
在創建表時,我們可以在欄位後添加各種約束,但一般不這樣混用,推薦將添加約束和建表的語句分開編寫。
添加約束的語法如下:
Code:
Alter Table 表名
Add Constraint 約束名 約束類型 具體的約束類型
上述語法標識修改某個表,添加某個約束,其中約束名的命名規則推薦採用"約束類型_約束欄位"這樣的形式。
Code:
---添加主鍵約束
Alter Table stuInfo
Add Constraint PK_stuNO primary Key(stuNo)
---添加唯一約束
Alter Table stuInfo
Add Constraint UQ_stuID unique(stuID)
---添加默認約束
Alter Table stuInfo
Add Constraint DF_stuAddress default('地址不詳') for stuAddress
---添加檢查約束
Alter Table stuInfo
Add Constraint CK_stuAge check(stuAge between 15 and 40)
---添加外鍵約束
Alter Table stuMarks
Add Constraint FK_stuNo foreign key(stuNo) references stuInfo(stuNo)
二、刪除約束
如果錯誤的添加了約束,則可以刪除約束
刪除約束的語法如下:
Code:
Alter Table 表名
Drop Constraint 約束名
附加:在創建表的時候同時添加約束的寫法:
Code:
use stuDB
go
if exists(select * from Sysobjects where name = 'stuInfo')
drop table stuInfo
go
create table stuInfo
(
stuName varchar(20) not null primary key(stuName)
,stuID int not null unique(stuID)
,stuAddress varchar(20) not null default('地址不詳')
,stuAge int not null check(stuAge between 15 and 40)
)

㈡ sql中表達完整性約束的規則主要有哪幾種

1、實體完整性:規定表的每一行在表中是惟一的實體。

2、域完整性:是指表中的列必須滿足某種特定的數據類型約束,其中約束又包括取值范圍、精度等規定。

3、 參照完整性:是指兩個表的主關鍵字和外關鍵字的數據應一致,保證了表之間的數據的一致性,防止了數據丟失或無意義的數據在資料庫中擴散。

4、用戶定義的完整性:不同的關系資料庫系統根據其應用環境的不同,往往還需要一些特殊的約束條件。用戶定義的完整性即是針對某個特定關系資料庫的約束條件,它反映某一具體應用必須滿足的語義要求。


(2)Sql的約束有幾種擴展閱讀

完整性約束的類型介紹:

1、與表有關的約束:是表中定義的一種約束。可在列定義時定義該約束,此時稱為列約束,也可以在表定義時定義約束,此時稱為表約束。

2、域(Domain)約束:在域定義中被定義的一種約束,它與在特定域中定義的任何列都有關系。

3、斷言(Assertion):在斷言定義時定義的一種約束,它可以與一個或多個表進行關聯。

㈢ 資料庫問題 SQL Server 資料庫中有哪幾種約束各有什麼作用

如表:
學生信息表(學生學號,姓名,性別,系別號)
系別信息表(系別號,系別名)

1、實體完整性約束--就是常說的主鍵約束,用來區分兩條不同的記錄。
上面的學生編號建成主鍵後,通過它可以區分學生的記錄。

2、參照完整性--就是常說的外鍵約束,用來保證數據的整合性。
上面的 學生信息表 中的 系別號 就是一種情況,它必須在 系別信息表 中存在在可以,系別信息表 中的 系別號 就可以設置成 學生信息表 的外鍵。

3、域完整性約束--就是常說的check約束
上面的學生信息表中的 性別 欄位只能有 男或者女,這樣就可以建一個check約束,限制該欄位只能輸入 男或者女。

---
以上,希望對你有所幫助。

㈣ sql server 中有哪幾種約束

一共有五種約束:這里以學生表stuinfo為例1、添加主鍵約束alter table stuinfo add costraint pk_stuno primary key (stuno)2、唯一約束alter table stuinfo add constraint uq_stuid unique (stuid)3、添加默認約束alter table stuinfo add constraint df_address default ('地址不詳') for address4、添加檢查約束alter table stuinfo add constraint ck_age check (age between 15 and 40) 這是年齡在15到40之間5、添加外鍵約束alter table stumarks add constraint fk_stuno foreign key (stuno) references stuinfo (stuno)這是一個成績表(stumarks)引用學生信息表中的列 學號

㈤ sql server中包括哪些約束機制

SQLServer中有五種約束
Primary Key約束、Foreign Key約束、Unique約束、Default約束和Check約束。

若在表中定義了默認值約束,用戶在插入新的數據行時,如果該行沒有指定數據,那麼系統將默認值賦給該列,如果我們不設置默認值,系統默認為NULL。

㈥ SQL server語句有哪些約束條件

在SQLServer中,有3種不同類型的約束。

1、實體約束:實體約束是關於行的,比如某一行出現的值就不允許出現在其他行,例如主鍵。

2、域約束:域約束是關於列的,對於所有行,某一列有那些約束,例如CHECK約束。

3、參照完整性約束:如果某列的值必須與其他列的值匹配,那就意味著需要一個參照完整性約束,例如外鍵。

SQL Server中的約束條件:

1、默認約束:定義該列未輸入值時應該具有的默認值。

2、空值約束:定義該列是否允許為空值。

3、檢查約束:又叫check約束,用來限制列的取值,它根據定義的邏輯表達式來強制域的完整性。

4、唯一約束:確保在非主鍵列不輸入重復值。

5、外鍵約束:用於建立兩個表數據之間連接的一列或多列。

6、主鍵約束:用來惟一地標識表中的每一行。

㈦ sql server中有哪幾種約束

sql server中有約束主要是四種

1實體完整性約束

2域完整性約束(指給定列的輸入有效性)

3引用完整性約束(表之間的聯系)

4自定義完整性約束(根據用戶的需求)

㈧ sql中表達完整性約束的機制主要有哪幾種

在SQL中,表達完整性約束的規則有主鍵約束、外鍵約束、屬性值約束和全局約束等多種形式。
(1)主鍵約束:可用主鍵子句或主鍵短語來定義。
如 PRIMARY KEY (S#) (主鍵子句)
S# CHAR (4) PRIMARY KEY (其中,PRIMARY KEY 為主鍵短語)
(2)外鍵約束:可用外鍵子句來定義
如 FOREIGN KEY (S#) REFERNCE S(S#)

(3)屬性值約束:包括非空值約束(NOT NULL);基於屬性的檢查子句(CHECK) ;
域約束子句(在「CREAT DOMAIN」語句中出現CHECK子句)
如CREAT DOMAIN AGE SMALLINT CHECK (VALUE>10)
(4)全局約束:包括基於元組的檢查子句(CHECK)和斷言
斷言的句法為:CREATE ASSERTION 斷言名 CHECK 條件

㈨ 在SQL中可以使用哪些約束

有用請採納哦~

  • NOT NULL – 指示某列不能存儲 NULL 值。

  • UNIQUE – 保證某列的每行必須有唯一的值。

  • PRIMARY KEY – NOT NULL 和 UNIQUE 的結合。確保某列(或兩個列多個列的結合)有唯一標識,有助於更容易更快速地找到表中的一個特定的記錄。

  • FOREIGN KEY – 保證一個表中的數據匹配另一個表中的值的參照完整性。

  • CHECK – 保證列中的值符合指定的條件。

  • DEFAULT – 規定沒有給列賦值時的默認值。


具體每個約束的實際範例自己去圖中網站找哦。

㈩ SQL server語句所有的約束條件

1、主鍵約束(Primary Key constraint):要求主鍵列數據唯一,並且不允許為空。

2、唯一約束(Unique constraint):要求該列唯一,允許為空,但只能出現一個空值。

3、檢查約束(Check constraint):某列取值范圍限制,格式限制等,如有關年齡、郵箱(必須有@)的約束。

4、默認約束(Default constraint):某列的默認值,如在資料庫里有一項數據很多重復,可以設為默認值。

5、外鍵約束(Foreign Key constraint):用於在兩個表之間建立關系,需要指定引用主表的哪一列。

(10)Sql的約束有幾種擴展閱讀:

對於存在外鍵約束的表,如果進行刪除非空的外鍵,可能會出現錯誤。 如果在 FOREIGN KEY 約束的列中輸入非 NULL 值,則此值必須在被引用的列中存在,否則將返回違反外鍵約束的錯誤信息。

列級 FOREIGN KEY 約束的 REFERENCES 子句僅能列出一個引用列,且該列必須與定義約束的列具有相同的數據類型。表級 FOREIGN KEY 約束的 REFERENCES 子句中引用列的數目必須與約束列列表中的列數相同。每個引用列的數據類型也必須與列表中相應列的數據類型相同。