学习笔记
MySQL
2020年12月12日
实体完整性约束
主键约束、唯一约束、自动增长列
表中的一行数据代表一个实体(entity),实体完整性的作用即标识每一行数据不重复,实体唯一。
01
主键约束
语法:PRIMARY KEY (唯一,标识表中的一行数据,此列的值不可重复,且不能为NULL)
#创建subject表(subjectid主键)
CREATE TABLE `subject`(
subjectid INT PRIMARY KEY,
subjectname VARCHAR(10),
subjecthours INT
);
#添加数据
INSERT INTO `subject`(subjectid,subjectname,subjecthours)
VALUES(2,'java',2);
02
唯一约束
语法:UNIQUE(唯一,标识表中的一行数据,不可重复,可以为null)
#创建subject表(subjectid主键、subjectname唯一)
CREATE TABLE `subject`(
subjectid INT PRIMARY KEY,
subjectname VARCHAR(10) UNIQUE,
subjecthours INT
);
#添加数据
INSERT INTO `subject`(subjectid,subjectname,subjecthours)
VALUES(1,'java',2);
#error:subjectname非唯一
INSERT INTO `subject`(subjectid,subjectname,subjecthours)
VALUES(2,'java',2);#error课程名称已存在
03
自动增长列
语法:AUTO_INCREMENT(自动增长,给主键数值添加自动增长,从1开始,每次加1,不能单独使用,和主键配合)
为表中主键添加自动增长,避免忘记主键ID序号
#创建subject表(subjectid主键自动增长、subjectname唯一)
CREATE TABLE `subject`(
subjectid INT PRIMARY KEY AUTO_INCREMENT,
subjectname VARCHAR(10) UNIQUE,
subjecthours INT
);
#添加数据
INSERT INTO `subject`(subjectname,subjecthours)
VALUES('java',2);
INSERT INTO `subject`(subjectname,subjecthours)
VALUES('sql',2);
INSERT INTO `subject`(subjectname,subjecthours)
VALUES('PYTHON',2);
注意:自动增长数据类型需为INT。
END
以上笔记根据千锋教育CAVINT老师课程整理所得
北落
念念不忘,必有回响