oracle创建表约束
时间: 2024-10-29 11:00:34 浏览: 26
Oracle数据库中,创建表约束是为了保证数据的有效性和一致性。表约束主要有以下几种:
1. **主键约束(Primary Key)**:用于唯一标识表中的每一行记录,不允许有重复值或NULL值。通常通过设置某一列或一组列作为主键实现。
```sql
CREATE TABLE employees (
id NUMBER PRIMARY KEY,
name VARCHAR2(50)
);
```
2. **外键约束(Foreign Key)**:用于关联两个表之间的数据,确保引用的行在另一个表中存在。比如,一个部门表中的员工ID通常是另一个员工表的外键。
```sql
CREATE TABLE departments (
id NUMBER PRIMARY KEY,
manager_id NUMBER,
FOREIGN KEY (manager_id) REFERENCES employees(id)
);
```
3. **唯一约束(Unique)**:允许一列或多列的组合拥有唯一的值,但允许NULL值。
```sql
CREATE TABLE emails (
employee_id NUMBER,
email VARCHAR2(50) UNIQUE,
PRIMARY KEY (employee_id, email)
);
```
4. **检查约束(Check)**:限制某列的数据应满足特定条件,如数值范围、文本长度等。
```sql
CREATE TABLE ratings (
rating INT CHECK (rating BETWEEN 1 AND 5),
PRIMARY KEY (rating)
);
```
5. **默认值约束(Default)**:指定当某个字段未提供值时,自动应用的默认值。
```sql
CREATE TABLE accounts (
account_number NUMBER DEFAULT sys_guid(),
balance NUMBER DEFAULT 0
);
```
创建约束时,可以在`CREATE TABLE`语句中直接添加,或者在表已经创建后使用`ALTER TABLE`命令添加。
阅读全文