首页  >  文章  >  数据库  >  oracle 设置主键

oracle 设置主键

PHPz
PHPz原创
2023-05-07 20:36:063130浏览

在 Oracle 数据库中,主键是用来唯一标识每个表中行数据的一种约束。主键约束能够保证表中任何一个行数据都有唯一的标识,因此在设计数据库的时候,给表设置主键非常重要。下面我们将详细介绍如何在 Oracle 中设置主键。

  1. 创建表时设置主键约束

在创建表的时候,可以通过设置主键约束来定义表的主键。以下是创建表时设置主键约束的语法:

CREATE TABLE table_name (
   column1 datatype constraint constraint_name PRIMARY KEY,
   column2 datatype,
   column3 datatype,
   .....
);

在以上语法中,column1 代表表中的列名,datatype 代表该列的数据类型。而 PRIMARY KEY 约束用来设置主键约束,constraint_name 则是主键约束的名称。

例如,我们可以创建一个 Employee 表,并将 EmployeeID 列设置为主键:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3)
);
  1. 在已存在的表中添加主键约束

如果在创建表时没有设置主键约束,我们也可以在表创建后再添加主键约束。以下是在已存在表中添加主键约束的语法:

ALTER TABLE table_name ADD CONSTRAINT constraint_name PRIMARY KEY (column1, column2, ... column_n);

在以上语法中,table_name 代表要添加主键约束的表名,constraint_name 是主键约束的名称,(column1, column2, ... column_n) 代表要设置为主键的列名,可以设置多个列作为主键。

例如,如果我们已经创建了一个 Orders 表,我们可以在该表中添加 OrderIDOrderDate 列作为主键:

ALTER TABLE Orders
ADD CONSTRAINT pk_Orders PRIMARY KEY (OrderID, OrderDate);
  1. 禁止 Null 值

在设置主键约束后,Oracle 会自动禁止表中出现 Null 值。如果插入任何一行数据时,包含一个 Null 值,则会被拒绝并触发错误消息。因此,要确保表中主键列中的全部值不为 Null。

在某些情况下,我们需要主键允许有 Null 值。此时,需要在主键列中使用 NULL 关键字来允许 Null 值。

例如,在 Employee 表中,如果我们不想要通过 EmployeeID 列来标识员工,则可以将其设置为允许 Null 值:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3),
   AltEmpID number(10) NULL
);

以上是 Oracle 中设置主键约束的方法。主键的设置对于数据库的性能和数据完整性非常重要,因此在设计数据库时,请务必设置主键约束,以确保数据的一致性和完整性。

以上是oracle 设置主键的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn