一、约束
1. 非空约束 NOT NULL
在一个已创建的表的 Age 字段中添加 NOT NULL 约束如下所示:
ALTER TABLE `Persons`
MODIFY `Age` int NOT NULL;
2. 唯一约束 UNIQUE
2.1 ALTER TABLE 时的 UNIQUE 约束
当表已被创建时,在 P_Id 列创建 UNIQUE 约束:
ALTER TABLE `Persons`
ADD UNIQUE(`P_Id`)
当表已被创建时,需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束:
ALTER TABLE `Persons`
ADD CONSTRAINT uc_PersonID UNIQUE (`P_Id`,`LastName`)
2.2 撤销 UNIQUE 约束
如需撤销 UNIQUE 约束 :
MySQL:
ALTER TABLE `Persons`
DROP INDEX uc_PersonID
SQL Server / Oracle / MS Access:
ALTER TABLE `Persons`
DROP CONSTRAINT uc_PersonID
3. 主键约束 PRIMARY KEY
3.1 添加 PRIMARY KEY
ALTER TABLE `Persons`
ADD PRIMARY KEY (`P_Id`)
如需命名并定义多个列的 PRIMARY KEY 约束,可以使用下面的 SQL 语法:
ALTER TABLE `Persons`
ADD CONSTRAINT pk_PersonID PRIMARY KEY (`P_Id`,`LastName`)
3.2 撤销 PRIMARY KEY
MYSQL:
ALTER TABLE `Persons`
DROP PRIMARY KEY
SQL Server / Oracle / MS Access:
ALTER TABLE `Persons`
DROP CONSTRAINT pk_PersonID
在创建数据表时,因为数据库工作人员忘记添加主键约束,现在我们需要对课程表 courses 添加主键约束,将 id 列设置为主键,请编写相应的 SQL 语句。
ALTER TABLE `courses`
ADD PRIMARY KEY (`id`);
请编写 SQL 语句,删除课程表 courses 中的主键约束
ALTER TABLE courses
DROP PRIMARY KEY;
4. 外键约束 FOREIGN KEY
4.1 ALTER TABLE 时的 SQL FOREIGN KEY 约束
当 "Orders" 表已被创建时,如需在 "P_Id" 列创建 FOREIGN KEY 约束:
ALTER TABLE `Orders`
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
如需命名 FOREIGN KEY 约束,并定义多个列的 FOREIGN KEY 约束:
ALTER TABLE `Orders`
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
4.2 撤销 FOREIGN KEY 约束