一丶默认值(当用户对使用默认值的字段不插入值的时候,就使用默认值。建表时就可创建,可删改)
CREATE TABLE suser(
uid INT,
uname VARCHAR(10),
address VARCHAR(30) DEFAULT '山东淄博'
);
二丶非空(限制字段必须赋值,设定的非空字段不能赋值null)
CREATE TABLE suser(
uid INT,
uname VARCHAR(10),
idcard VARCHAR(20) NOT NULL,
address VARCHAR(30) DEFAULT '山东淄博'
);
三丶唯一(对字段的值不能重复,唯一字段可以插入null 唯一字段可以插入多个null )
CREATE TABLE suser(
uid INT,
uname VARCHAR(10) UNIQUE,
idcard VARCHAR(20) NOT NULL,
address VARCHAR(30) DEFAULT '山东淄博'
);
四丶主键(非空+唯一)
CREATE TABLE suser(
uid INT PRIMARY KEY,
uname VARCHAR(10) UNIQUE,
idcard VARCHAR(20) NOT NULL,
address VARCHAR(30) DEFAULT '山东淄博'
);
五丶外键
(约束两种表的数据
解决数据冗余高问题:独立出一张表
)
-- 部门表(主表)
CREATE TABLE dept(
id INT PRIMARY KEY,
deptName VARCHAR(20)
)
-- 修改员工表(副表/从表)
CREATE TABLE employee(
id INT PRIMARY KEY,
empName VARCHAR(20),
deptId INT,-- 把部门名称改为部门ID
-- 声明一个外键约束
CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id)
-- 外键名称 外键 参考表(参考字段)
)
重点:
-- 1)当有了外键约束,添加数据的顺序: 先添加主表,再添加副表数据
-- 2)当有了外键约束,修改数据的顺序: 先修改副表,再修改主表数据
-- 3)当有了外键约束,删除数据的顺序: 先删除副表,再删除主表数据
对字段的值不能重复