--概述
对表中的数据进行限定,保证数据的正确性、有效性和完整性。
1. primary key:主键约束 要求表中有一个列 唯一 且 非空,通常我们使用id作为主键
2. unique:唯一约束
3. not null:非空约束
4. default:默认值
5. foreign key:外键约束
1.主键约束
-- 给student表添加主键约束
ALTER TABLE student ADD PRIMARY KEY(id);
-- 创建表,指定主键约束
CREATE TABLE stu1(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(32)
);
-- 创建表时,可以指定主键约束(多个字段) 联合主键
CREATE TABLE stu2(
id INT,
`name` VARCHAR(32),
PRIMARY KEY(id,`name`)
);
-- 修改自增器起始值...
ALTER TABLE stu3 AUTO_INCREMENT=10000;
-- 先移除自增器
ALTER TABLE stu3 MODIFY id INT;
-- 再移除主键约束
ALTER TABLE stu3 DROP PRIMARY KEY;
2.唯一约束
限定某一列的值不能重复,不能限定NULL
-- 创建表时指定字段为唯一约束
create table 表名(
列名 数据类型 unique
);
3.非空约束
create table 表名(
列名 数据类型 not null, -- 非空约束
列名 数据类型 unique not null -- (唯一+非空) 约束
);
-- 唯一 + 非空
CREATE TABLE stu5(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(32) UNIQUE NOT NULL
);
4.默认值
限定某一列的默认值,再没有指定的情况下所有列的默认值为null
--创建表时指定字段默认值
create table 表名(
列名 数据类型 default 默认值,
...
...
);
-- 默认值
CREATE TABLE stu6(
id INT PRIMARY KEY AUTO_INCREMENT,
`name` VARCHAR(32) DEFAULT NULL,
sex VARCHAR(5) DEFAULT '男'
);