为了防止错误数据的产生,在MySQL中定义了一些维护数据库完整性的规则即表的约束,
如下表所示:
约束条件 | 说明 |
PRIMARY KEY | 主键约束,用于标识唯一对应的记录(例如账号) |
FOREIGN KEY | 外键约束 |
NOT NULL | 非空约束 |
UNIQUE | 唯一性约束 |
DEFAULT | 默认值约束 |
1、主键约束
在MySQL中为了快速找到某条信息,可以通过设置主键来实现
主键分为两种 1.单字段主键 2.多字段主键
单字段主键指的是由一个字段构成的主键,其格式如下:
字段名 数据类型 PRIMARY KEY
创建一个新的ex01表,并设置id为主键 SQL语句如下所示:
CREATE TABLE ex01(id INT PRIMARY KEY,
name VARCHAR(20),
grade FLOAT);
多字段主键是指多个字段组合而成的主键,其最基本的语法为:
PRIMARY KEY(字段名1,字段名2,,,,,字段名n)
例如建立一个ex01数据表,在表中将stu_id和course_id两个字段共同作为主键,语句如下:
CREATE TABLE ex02(stu_id INT,
course_id INT,
name VARCHAR(20),
PRIMARY KEY(stu_id,course_id)
);
2、非空约束
非空约束指的是字段的值不能为null,其基本语法如下:
字段名 数据类型 NOT NULL;
例如创建一个ex04表,将表中name字段设置为非空约束SQL语句如下:
CREATE TABLE ex04(id INT,
name VARCHAR(20) NOT NULL,
grade FLOAT);
3、唯一约束
唯一约束用于保证数据表中字段的唯一性,及表中字段的之不能重复出现,其基本格式如下:
字段名 数据类型 UNIQUE
例如建立一个ex05表,将表中stu_id设置成唯一约束,SQL语句如下所示:
CREATE TABLE ex05(stu_id INT UNIQUE,
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL
);
4、默认约束
默认约束用于设置表中字段的指定默认值,基本语法如下所示:
字段名 数据类型 DEFAULF 默认值;
例如创建一个ex06表,将表中的grade字段设置为默认为一,其SQL语句如下所示:
CREATE TABLE ex06(id INT PRIMARY KEY AUTO_INCREMENT,
stu_id INT UNIQUE,
grade FLOAT DEFAULT 0);