2倍速学习网  >  数据库教程  >  Oracle中如何设置主键?创建主键两种方式你知吗?

Oracle中如何设置主键?创建主键两种方式你知吗?

创建主键的两种方式 第一种方式:在创建表时定义主键 在创建表的同时定义主键,是设置主键最直接和常用的方式。这种方式可以在表的定义中直接指定哪些列将作为主键,并自动为这些列创建唯一索引。 示例代码: CREATE TABLE ECS_STORE.TF_B_AIR_CONFIG ( TYPE_I...

在Oracle数据库中,主键(Primary Key)是表中的一个或多个字段的组合,用于唯一标识表中的每一行记录。主键的设计对于数据库的性能和数据的完整性至关重要。今天,我们就来详细探讨在Oracle中如何设置主键,以及创建主键的两种主要方式。

创建主键的两种方式

第一种方式:在创建表时定义主键

在创建表的同时定义主键,是设置主键最直接和常用的方式。这种方式可以在表的定义中直接指定哪些列将作为主键,并自动为这些列创建唯一索引。

示例代码

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_FLAG VARCHAR2(2) DEFAULT '1',
    UPDATE_TIME DATE DEFAULT SYSDATE,
    **CONSTRAINT TF_B_AIR_CONFIG_PK PRIMARY KEY (TYPE_ID)**  -- 单列主键
    -- 或者使用复合主键
    -- CONSTRAINT TF_B_AIR_CONFIG_PK PRIMARY KEY (TYPE_ID, PROVINCE_CODE)
);

在上述示例中,TYPE_ID被设置为TF_B_AIR_CONFIG表的主键。如果需要使用复合主键,只需在PRIMARY KEY后列出所有作为主键的列即可。

第二种方式:在已存在的表中添加主键

如果表已经创建但尚未设置主键,或者需要修改主键,可以使用ALTER TABLE语句为表添加主键约束。

示例代码

-- 假设表已经存在,但未设置主键
CREATE TABLE ECS_STORE.TF_B_AIR_CONFIG (
    TYPE_ID VARCHAR2(20) NOT NULL,
    PROVINCE_CODE VARCHAR2(4) NOT NULL,
    ...
    -- 其他列定义
);

-- 添加单列主键
**ALTER TABLE ECS_STORE.TF_B_AIR_CONFIG ADD CONSTRAINT TF_B_AIR_CONFIG_PK PRIMARY KEY (TYPE_ID);**

-- 或者添加复合主键
-- ALTER TABLE ECS_STORE.TF_B_AIR_CONFIG ADD CONSTRAINT TF_B_AIR_CONFIG_PK PRIMARY KEY (TYPE_ID, PROVINCE_CODE);

通过ALTER TABLE语句,我们可以轻松地为已存在的表添加主键约束,无论是单列主键还是复合主键。

重点总结

  • 在创建表时定义主键:直接在CREATE TABLE语句中通过CONSTRAINT关键字定义主键,这种方式最为直接和常用。
  • 在已存在的表中添加主键:使用ALTER TABLE语句,结合ADD CONSTRAINT语法为表添加主键约束,适用于表已存在但尚未设置主键或需要修改主键的情况。

Oracle中如何设置主键?创建主键两种方式你知吗?

无论采用哪种方式,设置主键都是确保数据库表数据完整性和查询性能的重要步骤。希望本文能帮助你更好地理解和应用Oracle中的主键设置方法。

推荐阅读