1.数据库约束
1.1 约束类型
- NOT NULL - 指示某列不能存储 NULL 值。
- UNIQUE - 保证某列的每行必须有唯一的值。
- DEFAULT - 规定没有给列赋值时的默认值。
- PRIMARY KEY - NOT NULL 和 UNIQUE 的结合。确保某列(或两个列多个列的结合)有唯一标识,有助于更容易更快速地找到表中的一个特定的记录。
- FOREIGN KEY - 保证一个表中的数据匹配另一个表中的值的参照完整性。
- CHECK - 保证列中的值符合指定的条件。对于MySQL数据库,对CHECK子句进行分析,但是忽略CHECK子句。
1.2 NULL约束
创建player表
在这里指定了id列不为空
当输入空时,
因此这里输入的时候不能将id设置为null
1.3 UNIQUE:唯一约
创建player表
这里指定name列为唯一值,不重复的
如果要插入值已经在表中存在就会插入失败
提示:当列有uniqueq约束的时候,进行插入之前,就会先查找。如果当前值存在,此时就会插入失败。因此,unique约束对效率肯定是会有影响的!但也是值得的!
1.4 DEFAULT:默认值约束
我们知道,当我们指定列插入的时候,如果这个列没有被指定,就会被设置成默认值NULL
使用DEFAULT约束
指定插入数据时name列为空,默认值为unkown;
先建立表
1.5 PRIMARY KEY:主键约束
primary key 表示了一个记录的身份标识(相当于唯一 && not null)
提示:一张表中只能有一个主键,对于主键,要求不能为空也不能重复。
1.6 FOREIGN KEY:外键约束
外键用于关联其他表的主键或唯一键
创建班级表class,id为主键:
创建一个学生表
1.7 CHECK约束(了解)
MySQL不支持CHECK约束
使用方式
drop table if exists test_user;
create table test_user (
id int,
name varchar(20),
sex varchar(1),
check (sex =‘男’ or sex=‘女’)
);