4 .表的约束
为了防止数据表中插入错误的数据 ,在MySQL中,定义了一些维护数据库完整性的规则,即表的约束。
我在这里列举一下约束条件和说明啊:
约束条件 |
说 明 |
PRIMARY KEY |
主键约束,用于唯一标识对应的记录 |
FPREIGN KEY |
外键约束 |
NOT NULL |
非空约束 |
UNIQUE |
唯一性约束 |
DEFAULT |
默认值约束,用于设置字段的默认值 |
这些约束条件都是针对表中的字段进行限制,从而保证表中数据的正确性和唯一性。
因为FPREIGN KEY 外键设计到多表操作,这里除了它,先详细介绍其他的:
- 主键约束
为了快速能找到某条信息,可以通过设置主键来实现。
主键约束是通过 PRIMARY KEY 来定义的,它可以唯一标识表中的记录,这就好比身份证可以用来标识人的身份一样,在MySQL中,主键分为两种:
l 1️⃣单字段主键
他是由一个字段构成的主键,语法如下:
字段名 数据类型 PRIMARY KEY
例【在创建表时 顺带加进去 – 创建一个名字为bihu_temp的表 并且将 id 设为 主键】
CREATE TABLE bihu_temp(
id INT PRIMARY KEY,
name VARCHAR(20),
gread FLOAT
);
l 2多字段主键(复合主键)
多字段主键是指多个字段组合而成的主键,语法:
PRIMARY KEY(字段名1, 字段名1,… 字段名n)
例【在创建表时在底部加进去 :创建一个名字为bihu_temp1的表并且将id和grade设为主键】
CREATE TABLE bihu_temp1(
id INT,
age INT,
sex char(0),
grade FLOAT,
PRIMARY KEY(id,grade)
);
Tips:一个表中只能有一个主键约束,定义为 PRIMARY KEY 的字段不能有重复的值且不能为NULL(空)。
- 非空约束
非空约束指的是字段的值不能为NULL,在MySQL中,非空约束是用NOT NULL 来定义的 语法如下:
字段名 数据类型 NOT NULL;
例: 创建一个名为bihu_notnull的表 将他的name属性设置非空约束 即名字不能为空
CREATE TABLE bihu_notnull(
id INT,
name VARCHAR(20) NOT NULL
);
- 唯一约束
它能保证字段的唯一性,即字段的值不能重复出现,就好像身份证 不可能有一样的
唯一约束用UNIQUE定义,语法如下:
字段名 数据类型 UNIQUE;
例:创建一个名为bihu_notnull的表将他的number属性设置唯一约束 即number不能重复
CREATE TABLE bihu_notnull(
id INT,
number VARCHAR(17) UNIQUE
);
- 默认约束
默认约束用于给数据表指定默认值、即当在表中插入一条记录时,如果没给这个字段赋值,那么系统会自动给这个字段插入默认值,默认值是通过DEFAULT关键字定义的:
语法: 字段名 数据类型 DEFAULT 默认值;
例:创建一个名为bihu_notnull的表将他的grade属性设置默认值
CREATE TABLE bihu_notnull(
id INT NOT NULL,
number VARCHAR(17) UNIQUE,
grade FLOAT DEFAULT 0
);
- 设置表的字段自动增长
自动增长一般用在主键 ID ,他是用AUTO_INCREMENT约束来实现的。
AUTO_INCREMENT约束 的字段可以是任何整数类型。
默认情况下,该字段的值是从1开始中增的,语法:
字段名 数据类型 AUTO_INCREMENT;
例:创建一个名为bihu_notnull的表将他的id设置为自增长,还有其他约束…
CREATE TABLE bihu_notnull(
id INT PRIMARY KEY AUTO_INCREMENT UNIQUE NOT NULL,
number VARCHAR(17) UNIQUE,
grade FLOAT DEFAULT 0
);
标的约束暂且就那么多 其实要多用就会了 忘记了记得回来看