(09)MySQL :约束
约束作用:保证数据的完整性和一致性
约束级别:表级约束和列级约束
约束类型包括:
1.PRIMARY KEY(主键约束)
主键约束:唯一标识数据库表中的每条记录。主键必须唯一、不能重复、自动为 NOT NULL(非空)。
2.NOT NULL (非空约束)
非空约束:强制字段不接受 NULL 值,强制字段始终包含值。
3.DEFAULT(默认约束)
默认约束:当插入记录时,如果没有明确为字段赋值,则自动赋予默认值。
4.UNIQUE(唯一约束)
唯一约束:可以保证记录的唯一性;唯一约束的字段可以为空值(NULL);每张数据表可以存在多个唯一约束
5.FOREIGN KEY(外键约束)
外键约束:从表外键的值是对主表主键的引用。从表外键类型,必须与主表主键类型一致。
作用:主要用于表现两个表的关系;保持数据的一致性,完整性。
AUTO_INCREMENT(自动增长列约束)
自动增长列约束:数据类型必须是整形,一个表中有且只能有一个自增长列,自增长列一般和主键搭配
CHECK:检查约束:【mysql中不支持】
1.1创建表时-添加列级约束:
#创建一张学生信息表
CREATE TABLE stuinfo(
#字段Id数字类型,为主键
id INT PRIMARY KEY,#主键
#字段学生名字符类型字符个数最长20
stuName VARCHAR(20) NOT NULL ,#非空
#性别字段
gender CHAR(1) CHECK(gender='男' OR gender ='女'),#检查mysql中不生效
#座位号数字类型,唯一
seat INT UNIQUE,#唯一
#年龄数字类型,默认值是18
age INT DEFAULT 18,#默认约束
#课程编号,外键
majorId INT REFERENCES major(id)#外键
);
#创建一张课程信息表
CREATE TABLE major(
#课程ID主键
id INT PRIMARY KEY,
#课程名称字符个数最长20
majorName VARCHAR(20)
);
1.2创建表时-添加表级约束:
2.1创建表时-添加列级约束:
2.2修改表时-添加表级约束:
2.3修改表时-删除表级约束: