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数据库中非常重要的一步。通过正确添加主键约束,我们可以保证数据的一致性和唯一性,同时提高查询效率。