--概述
對表中的數據進行限定,保證數據的正確性、有效性和完整性。
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 '男'
);