一、列完整性约束
列完整性约束:是指对某一列设置的约束条件。该列上的数据必须满足。最常见的有:
NOT NULL | 该列值不能为空 |
NULL | 该列值可以为空 |
UNIQUE | 该列值不能存在相同 |
DEFAULT | 该列某值在未定义时的默认值 |
CHECK | 用户自定义的约束 |
AUTO_INCREMENT | 该列值自动增加 |
二、表级完整性约束
表级完整性约束:规定了关系主键、外键和用户自定义完整性约束
PRIMARY KEY | 主键 |
FOREIGN KEY | 外键 |
三、创建表的格式
CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束],
...
[表级完整性约束]
);
格式一:
CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束] PRIMARY KEY,
...
CONSTRAINT [约束名] FOREIGN KEY (属性) REFERENCES [约束属性所在表](属性)
);
格式二:
CREATE TABLE [表名]
(
[属性名称] [数据类型] [列完整性约束],
...
CONSTRAINT [约束名] PRIMARY KEY(属性),
CONSTRAINT [约束名] FOREIGN KEY (属性) REFERENCES [属性所在表](属性)
);
注意:假如定义一个表时需要参考引用其它表的属性作为约束条件,那么必须保证被参考的表已经定义
四、简单建表示例
CREATE TABLE IF NOT EXISTS 专业(
专业编号 INT NOT NULL PRIMARY KEY,
专业名称 VARCHAR(20)
);
CREATE TABLE IF NOT EXISTS 基本信息(
学号 INT AUTO_INCREMENT,
专业编号 INT NOT NULL,
身份证号 CHAR(18) UNIQUE,
籍贯 VARCHAR(5) DEFAULT '河北省',
性别 CHAR(1) CHECK(性别='女' OR 性别='男'),
是否婚配 ENUM('是','否'),
CONSTRAINT 主键约束 PRIMARY KEY(学号),
CONSTRAINT 外键约束 FOREIGN KEY(专业编号) REFERENCES 专业(专业编号)
);
五、删除表
DROP TABLE IF EXISTS [表名];