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