oracle中如何设置主键?创建主键两种方式你知吗?
数据库教程在Oracle数据库中,主键(Primary Key)是一种特殊的索引,用于唯一标识表中的每一行记录。主键可以确保数据的完整性和一致性,因此在创建表时,我们通常会为主键字段添加主键约束。那么,在Oracle中如何设置主键呢?本文将为大家介绍两种常用的方式。
一、在创建表时定义主键
这是最直接、最常用的方式之一。在创建表时,可以通过在列声明后直接添加PRIMARY KEY
约束来定义主键。例如,创建一个名为employees
的表,其中emp_id
字段为主键,可以使用以下SQL语句:
CREATE TABLE employees (
emp_id NUMBER **PRIMARY KEY**,
emp_name VARCHAR2(100),
department_id NUMBER
);
此外,如果主键由多个列组成,即复合主键,也可以在列声明之后,使用CONSTRAINT
关键字来定义主键。例如:
CREATE TABLE ECS_STORE.TF_B_AIR_CONFIG(
TYPE_ID VARCHAR2(20) NOT NULL,
PROVINCE_CODE VARCHAR2(4) NOT NULL,
PARAMETER_TYPE VARCHAR2(2) NOT NULL,
LIMIT_NUM VARCHAR2(4) NOT NULL,
EFFECTIVE_FALG VARCHAR2(2) DEFAULT '1',
UPDATE_TIME DATE DEFAULT SYSDATE,
**CONSTRAINT TF_B_AIR_CONFIG_PK PRIMARY KEY (TYPE_ID, PROVINCE_CODE)**
);
二、在表创建后添加主键
如果表已经存在,但还没有主键,可以通过ALTER TABLE
语句来添加主键。这种方式特别适用于需要在表结构已经确定后再添加主键约束的情况。例如,为已经存在的employees
表的emp_id
字段添加主键约束,可以使用以下SQL语句:
ALTER TABLE employees ADD CONSTRAINT pk_emp_id **PRIMARY KEY** (emp_id);
同样,对于复合主键,也可以使用类似的方式添加。例如:
ALTER TABLE ECS_STORE.TF_B_AIR_CONFIG ADD CONSTRAINT TF_B_AIR_CONFIG_PK **PRIMARY KEY** (TYPE_ID, PROVINCE_CODE);
重点内容总结:
- 主键的作用:主键用于唯一标识表中的记录,可以是单列或复合主键。
- 创建表时定义主键:在
CREATE TABLE
语句中,可以直接在列声明后添加PRIMARY KEY
约束,或使用CONSTRAINT
关键字定义复合主键。 - 表创建后添加主键:使用
ALTER TABLE
语句,通过ADD CONSTRAINT
关键字添加主键约束。
通过以上两种方式,我们可以轻松地在Oracle数据库中设置主键,确保数据的完整性和一致性。在实际应用中,应根据具体需求选择合适的方式来创建主键。