1 数据库表的约束
约束的作用:对表中的数据进行限制,保证数据的争取性、有效性和完整性。一个表如果添加 了约束,不正确的数据将无法插入到表中。约束在创建表的时候添加比较合适。
约束种类:
约束名 | 关键字 | 说明 |
---|---|---|
主键 | primary key | 非空且唯一 |
唯一 | unique | 这一列不能有重复值 |
非空 | not null | 这一列必须有值 |
外键 | foreign key | 主表中主键列,在从表中外键列 |
默认 | default | 如果一列没有值,使用默认值 |
检查约束 | check | mysql不支持 |
1.1 主键约束
作用:用为唯一标识数据库中的每一条记录
通常不用业务字段作为主键,单独给每张表设计一个id的字段,把id作为主键。主键是给数据和程序使用的,不是给最终的客户使用的,所以主键没有含义没有关系,只要不重复非空就行。
(1)在创建表时,添加主键约束:
create table 表名(
id int primary key, -- 添加主键约束
字段名 varchar(20)
);
(2)创建表之后,添加主键约束
ALTER TABLE 表名 MODIFY 字段 INT PRIMARY;
ALTER TABLE 表名 ADD PRIMARY KEY(字段名);
(3) 删除主键:
-- 错误写法:alter table 表名 modify 字段 int;
ALTER TABLE 表名 DROP PRIMARY KEY;
(4) 自动增长:如果主键是数值类型的,使用auto_increment 可以来完成值的自动增长,默认值为1。注意:自增长只能用在主键上。
-- 在创建表时,添加主键约束,并且添加自增长约束
create table 表名(
id int primary key auto_increment, -- 给id添加主键自增长约束
字段名 varchar(