- 數(shù)據(jù)約束
1. 數(shù)據(jù)約束就是對用戶操作表的數(shù)據(jù)進行約束
2. 默認值
作用: 當用戶對使用默認值的字段不插入值的時候醉冤,就使用默認值。
create table tb_demo(
id int,
name varchar(40),
address varchar(40) default 'xian' //默認值為xian
);
3. 非空
作用: 限制字段必須賦值
create table tb_demo(
id int,
name varchar(40),
address varchar(40) not null //非空字段必須賦值
);
4. 唯一
作用: 對字段的值不能重復(fù)
create table tb_demo(
id int unique, //設(shè)置id的屬性值唯一,
name varchar(40));
5. 主鍵
作用 非空+唯一
create table tb_demo(
id int primary key, //主鍵 id的屬性值不能為空,且不能重復(fù)
name varchar(40));
6. 字增長
作用 自動地增
create table tb_demo(
id int(4) primary key auto_increment, //字增字段可以不用賦值,自動增長
name varchar(40));
7. 外鍵
作用 約束兩種表的數(shù)據(jù)
下面以創(chuàng)建一個員工表,部門表來舉例
問題出現(xiàn):在插入員工表數(shù)據(jù)的時候台盯,員工表的部門ID字段可以隨便插入
使用外鍵約束:約束插入員工表的部門ID字段值
解決辦法: 在員工表的部門ID字段添加一個外鍵約束
部門表(主表)
create table dept(
id int primary key auto_increment,
deptName varchar(20)
);
修改員工表(副表)
create table employee(
id int(4) primary key auto_increment,
empName varchar(20),
depId int,-- 把部門名稱改為部門ID
-- 聲明一個外鍵約束
constraint emlyee_dep_fk foreign key(depId) references dep(id)
-- 外鍵名稱 外鍵 參考表(參考字段)
)