推荐答案
在 SQL 中,可以通过以下两种方式添加唯一约束:
在创建表时添加唯一约束:
CREATE TABLE table_name ( column1 datatype, column2 datatype, ... UNIQUE (column1) );在已有表上添加唯一约束:
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column1);
本题详细解读
1. 在创建表时添加唯一约束
在创建表时,可以直接在列定义后使用 UNIQUE 关键字来指定某一列或某几列的值必须唯一。例如:
CREATE TABLE Employees (
EmployeeID int PRIMARY KEY,
Email varchar(255) UNIQUE,
PhoneNumber varchar(15)
);在这个例子中,Email 列被设置为唯一约束,这意味着表中不能有两行具有相同的 Email 值。
2. 在已有表上添加唯一约束
如果表已经存在,可以使用 ALTER TABLE 语句来添加唯一约束。例如:
ALTER TABLE Employees ADD CONSTRAINT UQ_Employee_Email UNIQUE (Email);
在这个例子中,UQ_Employee_Email 是约束的名称,Email 列被设置为唯一约束。如果尝试插入或更新数据时违反了唯一约束,SQL 将抛出错误。
3. 复合唯一约束
唯一约束不仅可以应用于单列,还可以应用于多列的组合。例如:
CREATE TABLE Orders (
OrderID int PRIMARY KEY,
CustomerID int,
OrderDate date,
UNIQUE (CustomerID, OrderDate)
);在这个例子中,CustomerID 和 OrderDate 的组合必须是唯一的,这意味着同一个客户在同一天不能有多个订单。
4. 删除唯一约束
如果需要删除唯一约束,可以使用以下 SQL 语句:
ALTER TABLE table_name DROP CONSTRAINT constraint_name;
例如:
ALTER TABLE Employees DROP CONSTRAINT UQ_Employee_Email;
这将删除 Employees 表上的 UQ_Employee_Email 唯一约束。