mysql数据约束
1,默认值
CREATE TABLE student(
id INT,
NAME VARCHAR(20),
address VARCHAR(20) DEFAULT '山东淄博' -- 默认值
)
DROP TABLE student;
-- 当字段没有插入值的时候,mysql自动给该字段分配默认值
INSERT INTO student(id,NAME) VALUES(1,'张三');
-- 注意:默认值的字段允许为null
INSERT INTO student(id,NAME,address) VALUE(2,'李四',NULL);
INSERT INTO student(id,NAME,address) VALUE(3,'王五','山东淄博');
2,--唯一
作用: 对字段的值不能重复
注意:
1)唯一字段可以插入null
2)唯一字段可以插入多个null
3--主键
基本上每个表都会有一个主键,主键的作用就是可以通过主键找到唯一对应的内容,比如,一个学生在学校里的学号不同,就可以通过学号找到这位学生,学号就是主键
用关键字primary key
CREATE TABLE student(
id INT PRIMARY KEY, -- 主键
NAME VARCHAR(20)
)
在建表的时候就将主键弄好
4--外键,一张表中的外键必须是另一张表中的主键,而且在表中定义外键之前一定要定义另一张表的主键,而且数值类型必须相同
部门表(主表)
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)
-- 外键名称 外键 参考表(参考字段)
)