資料庫 單錶約束

2021-10-23 23:18:34 字數 1159 閱讀 7471

約束:對錶中的資料可以進行進一步的限制,來保證資料的唯一性,正確性和完整性。

約束種類:

primary key : 主鍵約束 代表該字段的資料不能為空且不可重複

not null : 非空 代表該字段的資料不能為空

unique : 唯一 代表該字段的資料不能重複

乙個表中都得需要主鍵約束,用來標註一條記錄的唯一性。

通常不用業務字段作為主鍵,單獨給每張表設計乙個id的字段,把id作為主鍵。主鍵是給資料庫和程式使用的,不是給最終的客戶使用的。所以主鍵有沒有含義沒有關係,只要不重複,非空就行。

主鍵字段值唯一不可重複

主鍵字段值不能包含null值

乙個表中只能有乙個主鍵,但主鍵可以是多個字段 (聯合主鍵)

方式二 在建立表時,結尾內新增約束

格式1:單一主鍵

create table 表名 (

欄位名稱1 字段型別,

欄位名稱2 字段型別,

primary key(欄位名稱1)

);

格式2:聯合主鍵

create table 表名 (

欄位名稱1 字段型別,

欄位名稱2 字段型別,

primary key(欄位名稱1,欄位名稱2)

);

語法:欄位名稱 字段型別 主鍵約束 auto_increment

預設的 auto_increment 的開始值是1,如果希望修改起始值,請使用下列sql語法 :

alter table 表名 auto_increment=起始值;

被unique修飾的字段唯一,不可重複。

注意: 乙個表中可以有多個被unique修飾的字段,但對null不起作用。

建立表時在字段後新增

create table 表名 (

欄位名稱1 字段型別 unique,

欄位名稱2 字段型別 unique

);被not null修飾的字段不可為空。

建立表時在字段後新增

create table 表名 (

欄位名稱1 字段型別 not null,

欄位名稱2 字段型別 not null

);往表中新增資料時,如果不指定這個欄位的資料,就使用預設值。

預設值格式: 欄位名 字段型別 default 預設值

資料庫 表約束

非空且唯一 方式一 create table userid number,constraint pk user primary key userid username varchar2 10 方式二 create table userid number primary key,username va...

資料庫表約束

sql check約束 check約束屬性列內容的取值範圍。如果對單列進行check約束則只會對單列的取值有效。如果對錶進行check約束則對整張表的所有欄位都進行限制。eg 在建立persons表示為id p列建立check約束。此約束的約束範圍為 id p列的取值範圍不得小於0,要是大於0的整數...

資料庫表的約束

在設計資料庫時。為了確保資料庫表中資料的質量。須要考慮資料的完整性 資料的完整性是指資料的正確性和一致性 舉個樣例 當你要為學生建立乙個基本資訊表studentinfo時,這個表中學生的名字能夠同樣可是學號必須不一樣,而他的年齡也得限制在一定範圍內,像這樣類似的 限制 有非常多,假設違反了這些限制就...