创建主键的两种方式
第一种方式:在创建表时定义主键
在创建表的同时定义主键,是设置主键最直接和常用的方式。这种方式可以在表的定义中直接指定哪些列将作为主键,并自动为这些列创建唯一索引。
示例代码:
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中的主键设置方法。