Oracle中添加表的主键约束(oracle为表添加主键)

Oracle中添加表的主键约束

在Oracle数据库中,主键约束是一种非常重要的约束。它不仅能够保证数据的唯一性,还能够提高数据查询的效率。在建立Oracle表的时候,我们一般都需要添加主键约束。接下来我们将介绍如何在Oracle中添加表的主键约束。

1.创建表

我们需要先创建一张表。假设我们要创建一张名为“student”的表,该表包括“id”和“name”两列,其中“id”列是主键列,由于Oracle数据库支持自增列,因此我们可以使用AUTO_INCREMENT来自动填充“id”列的值。

CREATE TABLE student(

id NUMBER(38) GENERATED ALWAYS AS IDENTITY,

name VARCHAR2(20) NOT NULL

);

2.添加主键约束

接下来,我们需要添加主键约束。主键约束可以通过两种方式来添加:在表创建时添加或者在表创建后再添加。在表创建时添加主键约束的方式如下:

CREATE TABLE student(

id NUMBER(38) GENERATED ALWAYS AS IDENTITY PRIMARY KEY,

name VARCHAR2(20) NOT NULL

);

在表创建后再添加主键约束的方式如下:

ALTER TABLE student ADD PRIMARY KEY(id);

在这里我们使用了ALTER TABLE语句来添加主键约束。该语句会修改表的结构,因此我们需要先确保表中没有任何已经存在的数据,否则会导致修改失败。

3.测试主键约束

我们可以通过插入数据和查询数据来测试表的主键约束是否生效。在插入数据时,若主键列的值已经存在,则插入操作将失败。例如:

INSERT INTO student(name) VALUES(‘Tom’);

— 正常插入数据,id列的值由AUTO_INCREMENT自动生成

INSERT INTO student(id, name) VALUES(1, ‘Tom’);

— 插入主键值已经存在的数据,将会抛出异常

在查询数据时,我们可以通过EXPLN PLAN语句来观察查询计划,从而判断是否使用了主键索引。例如:

EXPLN PLAN FOR SELECT * FROM student WHERE id = 1;

— 查看查询计划

SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

— 显示查询计划

在查询计划中,我们可以看到是否使用了“INDEX UNIQUE SCAN”操作,若使用了该操作,则表明主键索引已经生效。

综上所述,添加主键约束是Oracle数据库中非常重要的一步。通过正确添加主键约束,我们可以保证数据的一致性和唯一性,同时提高查询效率。


数据运维技术 » Oracle中添加表的主键约束(oracle为表添加主键)