oracle中如何设置主键?创建主键两种方式你知吗?
数据库教程在Oracle数据库中,主键(Primary Key)是一种特殊的索引,用于唯一标识表中的每一行记录。主键不仅能确保数据的完整性和一致性,还能提升查询性能。那么,在Oracle中如何设置主键呢?本文将详细介绍两种创建主键的方式,帮助你轻松掌握这一技能。
一、在创建表时定义主键
这是设置主键最直接、最常用的方法之一。在创建表时,你可以直接在列声明中或通过constraint子句来定义主键。
示例代码:
CREATE TABLE employees (
id NUMBER **PRIMARY KEY**,
name VARCHAR2(50),
age NUMBER,
department_id NUMBER
);
或者,你也可以使用constraint子句来定义复合主键(由多个列组成的主键):
CREATE TABLE 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语句添加主键
如果表已经存在但还没有主键,你可以使用ALTER TABLE语句来添加主键。这种方法特别适用于需要对现有表结构进行修改的情况。
示例代码:
ALTER TABLE employees
**ADD CONSTRAINT pk_employees_id PRIMARY KEY (id)**;
同样,你也可以为复合主键使用ALTER TABLE语句:
ALTER TABLE TF_B_AIR_CONFIG
**ADD CONSTRAINT TF_B_AIR_CONFIG_PK_ALTER PRIMARY KEY (TYPE_ID, PROVINCE_CODE)**;
重点内容总结:
- 主键的作用:唯一标识表中的每一行记录,确保数据的完整性和一致性。
- 创建主键的两种方式:
- 在创建表时定义主键:直接在列声明中或通过constraint子句来定义。
- 使用ALTER TABLE语句添加主键:适用于对现有表结构进行修改的情况。
- 注意事项:主键列不能为空(NOT NULL),且主键中的每一个值都是唯一的。Oracle会自动为主键创建唯一索引,以提升查询性能。

通过掌握这两种创建主键的方式,你可以更加灵活地设计和管理Oracle数据库中的表结构。希望本文对你有所帮助!