mysql基础,数据约束。
对用户操作表的数据进行约束
数据约束:默认值,非空,唯一
默认值:用户不设置值的时候使用默认值。
非空:字段不得为空,必须赋值且不得为null。
唯一:值不可重复,可以赋值为null,可以赋值多个null。
主键:
通常情况下,每张表都会设置一个主键,作用是:非空+唯一。
自增长:
CREATE TABLE student(
id INT(4) ZEROFILL PRIMARY KEY AUTO_INCREMENT, -- 自增长,从0开始 ZEROFILL 零填充
NAME VARCHAR(20)
)
设置id自增长
自增长字段可以不赋值,自动递增
DELETE不能影响自增长约束
DELETE FROM student;
TRUNCATE可以影响自增长约束
TRUNCATE TABLE student;
外键:
约束两种表的数据
解决数据冗余高问题: 独立出一张表
列如:学生表 和 班级表。
外键声明规则:
CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id)
外键名称 外键 参考表(参考字段)
被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的,主表的参考字段通用为主键!
添加数据: 先添加主表,再添加副表
修改数据: 先修改副表,再修改主表
删除数据: 先删除副表,再删除主表