mysql约束值_mysql的数据约束

本文详细介绍了数据库设计中的数据约束,包括默认值、非空、唯一、主键、自增长和外键等概念。默认值允许字段在未指定值时使用预设值;非空约束确保字段必须赋值且不能为null;唯一约束保证字段值的不重复;主键是表中记录的唯一标识,通常由非空且唯一的字段组成;自增长用于自动增加整数字段的值;外键则用于建立主表和副表之间的关联,确保数据一致性。在操作中,需遵循特定的添加、修改和删除顺序以维护约束的正确性。
摘要由CSDN通过智能技术生成

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

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 INTUNIQUE,

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(

idINT PRIMARY KEY,

deptName VARCHAR(20)

)

-- 修改员工表(副表/从表)

CREATE TABLE employee(

id INT PRIMARY KEY,

empName VARCHAR(20),

deptIdINT,-- 把部门名称改为部门ID

-- 声明一个外键约束

CONSTRAINT emlyee_dept_fk FOREIGN KEY(deptId) REFERENCES dept(id)

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

)

注意:

1)被约束的表称为副表,约束别人的表称为主表,外键设置在副表上的!!!

2)主表的参考字段通用为主键!

3)添加数据: 先添加主表,再添加副表

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

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

-- 不能影响自增长约束

DELETE FROM student;

-- 可以影响自增长约束

TRUNCATE TABLE student;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值