1.主键约束
PRIMARY KEY 约束,用于标识数据库表中的每条记录是唯一不重复的。
好处:保证数据库的数据的一个完整性,不会产生一些垃圾数据
#不能为null,一个表里只能够存在一个主键
#一般情况下是id为主键
#添加主键的三种方式
#第一种 PRIMARY KEY
CREATE TABLE P1(
id int(4) PRIMARY KEY,
name varchar(20)
);
#第二种
CREATE TABLE P1(
id int(4),
name varchar(20),
PRIMARY KEY(id)
);
#可以使用联合主键
CREATE TABLE P1(
id int(4),
name varchar(20),
PRIMARY KEY(id,name)(不能两个都一样,其中一个一样,另一个不一样都不会出错)
);
#第三种
CREATE TABLE P1(
id int(4),
name varchar(20)
);
#ALTER TABLE 表名 ADD CONSTARTNT 主键名称 PRIMARY KEY (id);
ALTER TABLE p1 ADD CONSTARTNT pk_id PRIMARY KEY (id);
#删除主键
ALTER TABLE p1 DROP PRIMARY KEY;
2.唯一约束
UNIQUE 约束唯一标识数据库表中的每条记录。
UNIQUE 和 PRIMARY KEY 约束都可以标识当前字段唯一,不重复。
注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
唯一约束,会忽略null值
主键约束和唯一约束的区别: 1、主键是唯一且不能为空,唯一约束是唯一可以为空 2、一个表最多只能有一个主键,可以多个唯一约束
#第一种
CREATE TABLE P1(
id int(4),
name varchar(20) UNIQUE
);
#第二种
CREATE TABLE P1(
id int(4),
name varchar(20),
UNIQUE(name)
);
#第三种
CREATE TABLE P1(
id int(4),
name varchar(20)
);
ALTER TABLE p1 ADD UNIQUE(name);
#删除 唯一约束 index 是索引的关键字
#name 表示其名称
ALTER TABLE p7 DROP INDEX name
3.非null 约束
NOT NULL 约束强制列不接受 NULL 值。
NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新记录或者更新记录。
CREATE TABLE P1(
id int(4),
name varchar(20) NOT NULL
);
下面的 SQL 语句强制"Name" 列不接受 NULL 值:
自增长策略:也就是每一累加1
#一般在一张表里 自增长策略 与主键进行搭配
CREATE TABLE P1(
id int(4) PRIMARY KEY AUTO_INCREMENT,
name varchar(20)
);
#如果设置自增长之后,就不用来管主键,数据默认从1开始,每次在原来的基础上加1