alter table 添加约束
时间: 2025-01-09 13:26:39 浏览: 3
### SQL `ALTER TABLE` 添加约束的语法和实例
在 Oracle 数据库中,可以使用 `ALTER TABLE` 语句来向现有表添加各种类型的约束条件。以下是常见的几种约束及其对应的语法:
#### 添加唯一性约束
为了确保某一列或多列中的数据具有唯一性,可采用如下命令:
```sql
ALTER TABLE table_name ADD CONSTRAINT constraint_name UNIQUE (column_name);
```
例如,在名为 `employees` 的表上创建一个唯一的索引以防止重复的社会安全号码(假设该字段名叫做 `ssn`),则执行下面这条指令[^2]:
```sql
ALTER TABLE employees ADD CONSTRAINT emp_ssn_unique UNIQUE (ssn);
```
#### 添加外键约束
当需要建立两个表格之间的关系时,可以通过定义外键实现级联更新或删除操作等功能。具体形式如下所示:
```sql
ALTER TABLE child_table ADD CONSTRAINT fk_constraint_name FOREIGN KEY (child_column) REFERENCES parent_table(parent_column);
```
比如要设置部门编号作为员工记录对外部参照,则应编写这样的脚本:
```sql
ALTER TABLE employees ADD CONSTRAINT dept_fk FOREIGN KEY (department_id) REFERENCES departments(department_id);
```
#### 添加主键约束
如果想要指定某列为新表或者已有表里的主键,那么可以用到此方法:
```sql
ALTER TABLE table_name ADD PRIMARY KEY (column_name);
```
注意这里假定所选属性之前并未被其他任何约束占用。
对于上述三种情况而言,均支持通过附加选项来自定义错误提示信息等内容;另外还存在一些特定于数据库版本特性的参数可供调整优化性能表现等方面的需求。
阅读全文