一、列完整性约束

列完整性约束:是指对某一列设置的约束条件。该列上的数据必须满足。最常见的有:

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 [表名];
04-28 22:48