從品牌網(wǎng)站建設(shè)到網(wǎng)絡(luò)營銷策劃,從策略到執(zhí)行的一站式服務(wù)
來源:公司資訊 | 2021.11.25
1.數(shù)據(jù)庫約束
1.1 約束類型
NOT NULL - 指示某列不能存儲 NULL 值。
UNIQUE - 保證某列的每行必須有唯一的值。
DEFAULT - 規(guī)定沒有給列賦值時的默認(rèn)值。
PRIMARY KEY - NOT NULL 和 UNIQUE 的結(jié)合。確保某列(或兩個列多個列的結(jié)合)有唯一標(biāo)識,有助于更容易更快速地找到表中的一個特定的記錄。
FOREIGN KEY - 保證一個表中的數(shù)據(jù)匹配另一個表中的值的參照完整性。
CHECK - 保證列中的值符合指定的條件。對于MySQL數(shù)據(jù)庫,對CHECK子句進(jìn)行分析,但是忽略CHECK子句。
1.2 NULL約束
創(chuàng)建player表
在這里指定了id列不為空
當(dāng)輸入空時,
因此這里輸入的時候不能將id設(shè)置為null
1.3 UNIQUE:唯一約
創(chuàng)建player表
這里指定name列為唯一值,不重復(fù)的
如果要插入值已經(jīng)在表中存在就會插入失敗
提示:當(dāng)列有uniqueq約束的時候,進(jìn)行插入之前,就會先查找。如果當(dāng)前值存在,此時就會插入失敗。因此,unique約束對效率肯定是會有影響的!但也是值得的!
1.4 DEFAULT:默認(rèn)值約束
我們知道,當(dāng)我們指定列插入的時候,如果這個列沒有被指定,就會被設(shè)置成默認(rèn)值NULL
使用DEFAULT約束
指定插入數(shù)據(jù)時name列為空,默認(rèn)值為unkown;
先建立表
1.5 PRIMARY KEY:主鍵約束
primary key 表示了一個記錄的身份標(biāo)識(相當(dāng)于唯一 && not null)
提示:一張表中只能有一個主鍵,對于主鍵,要求不能為空也不能重復(fù)。
1.6 FOREIGN KEY:外鍵約束
外鍵用于關(guān)聯(lián)其他表的主鍵或唯一鍵
創(chuàng)建班級表class,id為主鍵:
創(chuàng)建一個學(xué)生表
1.7 CHECK約束(了解)
MySQL不支持CHECK約束
使用方式
drop table if exists test_user;
create table test_user (
id int,
name varchar(20),
sex varchar(1),
check (sex =‘男’ or sex=‘女’)
);