oracle主键约束、非空约束、唯一键约束、检查约束、外键约束代码
时间: 2024-10-14 13:12:27 浏览: 43
Oracle数据库中的约束是用来保证数据质量和表之间的关联性的。以下是关于你提到的几种常见约束类型的简要说明和示例代码:
1. **主键约束 (Primary Key Constraint)**: 主键用于唯一标识表中的每一行数据。不允许有NULL值,并且必须是唯一的。
```sql
CREATE TABLE Employees (
ID NUMBER PRIMARY KEY,
Name VARCHAR2(50)
);
```
在上述代码中,`ID`列是主键。
2. **非空约束 (NotNull Constraint)**: 确保字段的值不能为NULL。
```sql
ALTER TABLE Employees
ADD CONSTRAINT Emp_Name_NOT_NULL
MODIFY Name NOT NULL;
```
这将确保`Name`字段不能为空。
3. **唯一键约束 (Unique Constraint)**: 列中的值必须唯一,可以包含NULL值。
```sql
CREATE UNIQUE INDEX idx_UniqueEmail ON Employees (Email);
```
`Email`字段有一个名为`idx_UniqueEmail`的唯一索引。
4. **检查约束 (Check Constraint)**: 限制特定列的值满足某个条件。
```sql
ALTER TABLE Employees
ADD CONSTRAINT chk_AgeRange CHECK (Age BETWEEN 18 AND 65);
```
此约束规定`Age`字段值必须在18到65之间。
5. **外键约束 (Foreign Key Constraint)**: 表A中的某列引用了表B的主键,表示它们之间的关联。
```sql
CREATE TABLE Orders (
OrderID NUMBER,
EmployeeID NUMBER,
FOREIGN KEY (EmployeeID) REFERENCES Employees(ID)
);
```
这里`Orders`表的`EmployeeID`列是一个外键,它参考了`Employees`表的`ID`。
阅读全文