第8章 数据库约束
8-1 数据库约束的简介
8-2 数据库约束之主键约束
8-3 数据库约束之唯一约束
8-4 数据库约束之非空约束
8-5 默认值的设定
8-1 数据库约束的简介
数据库的约束:
对表中数据进行进一步的限制,保证数据的正确性、有效性和完整性
primary key:主键
unique:唯一
not null:非空
default:默认
foreign key:外键
8-2 数据库约束之主键约束
一、主键的作用:
1.主键用来唯一标识一条记录,每个表都应该有一个主键,并且每个表只能有一个主键
2、哪个字段应该作为表的主键?
通常不用业务字段作为主键,单独给每张表设计一个id字段,把id字段作为主键。主键是给数据库和程序使用的,不是给最终客户使用的。所以主键有没有含义没有关系,只要不重复,非空就行。
二、创建主键
主键: PRIMARY KEY
主键的特点:
- 主键必须包含唯一的值;
- 主键列不能包含NULL值
创建主键方式:
在创建表的时候给字段添加主键:
字段名 字段类型 PRIMARY KEY
三、删除主键
ALTER TABLE 表名 DROP PRIMARY KEY;
四、主键自增
- AUTO_INCREMENT 表示自动增长(字段类型必须是整数类型)
扩展
默认AUTO_INCREMENT的开始值是1,如果希望修改起始值,使用以下SQL语法:
ALTER TABLE 表名 AUTO_INCREMENT=起始值;
8、DELETE和TRUNCATE 的区别
DELETE:删除表中的数据,但不重复AUTO_INCREMENT的值
TRUNCATE摧毁表,重建表,AUTO_INCREMENT重置为1
8-3 数据库约束之唯一约束
1、唯一
在这张表中这个字段的值不能重复
2、唯一约束基本格式:
字段名 字段类型 UNIQUE
eg:创建英雄表hero3,包含字段(id,name)name这一列设置唯一的约束,不能出现同名的英雄。
CREATE TABLE hero3(
id INT,
name VARCHAR(29) UNIQUE
);
实现唯一约束,不能插入相同的值,
但是NULL没有值,所以不存在重复的值,
可以插入多个NULL
8-4 数据库约束之非空约束
1、非空:这个字段必须设置值,不能为NULL
2、非空约束的基本语法:字段名 字段类型 NOT NULL
3、可以和唯一约束搭配:字段名 字段类型 UNIQUE NOT NULL
8-5 默认值的设定
1、默认值:往表中添加数据时,如果不指定这个字段的数据,就使用默认值
2、基本语法结构:字段名 字段类型 DEFAULT 默认值