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)

--           外键名称                  外键               参考表(参考字段)

)

原文地址:https://www.cnblogs.com/jingyukeng/p/8625903.html