mysql的数据约束

数据约束是指对用户插入的数据进行规范,

1、默认值

  CREATE TABLE student(

  id INT,

  NAME VARCHAR(20),

  address VARCHAR(20) DEFAULT '山东淄博' 

  )

  当用户对使用默认值的字段不插入值的时候,就使用默认值。

  注意:

  1)对默认值字段插入null是可以的。

  2)对默认值字段可以插入非null

2.、非空

 

  CREATE TABLE student(

 

  d INT,

 

  NAME VARCHAR(20),

 

  gender VARCHAR(2) NOT NULL 

  )

  限制字段必须赋值

 

  注意:

 

  1)非空字符必须赋值

 

  2)非空字符不能赋null

3、唯一

 

  CREATE TABLE student(

 

  id INT UNIQUE,

 

  NAME VARCHAR(20)

 

  ) 

  对字段的值不能重复

  注意:

  1)唯一字段可以插入null

  2)唯一字段可以插入多个null

4、主键

  CREATE TABLE student(

 

  id INT PRIMARY KEY

 

  NAME VARCHAR(20)

 

  )

  作用: 非空+唯一

  注意:

  1)通常情况下,每张表都会设置一个主键字段。用于标记表中的每条记录的唯一性。

  2)建议不要选择表的包含业务含义的字段作为主键,建议给每张表独立设计一个非业务含义的id字段。

5、自增长

  CREATE TABLE student(

 

  id INT(4) ZEROFILL PRIMARY KEY AUTO_INCREMENT

 

  NAME VARCHAR(20)

 

  )

  自动增加,只能加在int类型及主键上

  -- 不能影响自增长约束

  DELETE FROM student;

  -- 可以影响自增长约束

  TRUNCATE TABLE student;

6、外键

  -- 部门表(主表)

  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)添加数据: 先添加主表,再添加副表

4)修改数据: 先修改副表,再修改主表

5)删除数据: 先删除副表,再删除主表

 

 

 

 

 

-- 不能影响自增长约束

DELETE FROM student;

-- 可以影响自增长约束

TRUNCATE TABLE student;

posted @ 2020-06-19 16:29  2020小白  阅读(170)  评论(0编辑  收藏  举报