oracle建表并添加约束和索引
时间: 2023-07-25 17:06:39 浏览: 152
建表建约束
下面是一个示例Oracle建表语句,其中包括了添加约束和索引的语句:
```
CREATE TABLE employees (
employee_id NUMBER(6),
first_name VARCHAR2(20),
last_name VARCHAR2(25) CONSTRAINT nn_last_name NOT NULL,
email VARCHAR2(25) CONSTRAINT nn_email NOT NULL UNIQUE,
hire_date DATE DEFAULT SYSDATE,
job_id VARCHAR2(10),
salary NUMBER(8,2),
commission_pct NUMBER(2,2),
manager_id NUMBER(6),
department_id NUMBER(4),
CONSTRAINT pk_employee_id PRIMARY KEY (employee_id),
CONSTRAINT fk_department_id FOREIGN KEY (department_id)
REFERENCES departments (department_id),
INDEX ix_employee_name (last_name, first_name)
);
```
在上述代码中,我们创建了一个名为employees的表,并添加了以下内容:
- employee_id、first_name、last_name、email、hire_date、job_id、salary、commission_pct、manager_id和department_id列以及其相应的数据类型。
- nn_last_name约束,该约束确保last_name列不为空。
- nn_email约束,该约束确保email列不为空,并且唯一。
- hire_date列的默认值为当前日期。
- pk_employee_id主键约束,该约束将employee_id列指定为主键。
- fk_department_id外键约束,该约束确保department_id列中的值在departments表中存在。
- ix_employee_name索引,该索引用于加速按last_name和first_name列查询的速度。
当然,以上只是一个示例,实际情况会因实际需求而异。例如,你可能需要添加更多的列、约束和索引。
阅读全文