Heim  >  Artikel  >  Datenbank  >  Oracle legt den Primärschlüssel fest

Oracle legt den Primärschlüssel fest

PHPz
PHPzOriginal
2023-05-07 20:36:063087Durchsuche

In Oracle-Datenbanken ist der Primärschlüssel eine Einschränkung, die zur eindeutigen Identifizierung von Zeilendaten in jeder Tabelle verwendet wird. Primärschlüsseleinschränkungen können sicherstellen, dass jede Datenzeile in der Tabelle eine eindeutige Identität hat. Daher ist es beim Entwurf einer Datenbank sehr wichtig, einen Primärschlüssel für die Tabelle festzulegen. Im Folgenden erklären wir Ihnen ausführlich, wie Sie Primärschlüssel in Oracle einrichten.

  1. Legen Sie beim Erstellen einer Tabelle Primärschlüsseleinschränkungen fest.

Beim Erstellen einer Tabelle können Sie den Primärschlüssel der Tabelle definieren, indem Sie den Primärschlüssel festlegen Einschränkungen. Im Folgenden finden Sie die Syntax zum Festlegen von Primärschlüsseleinschränkungen beim Erstellen einer Tabelle:

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

In der obigen Syntax stellt column1 den Spaltennamen in der Tabelle und datatype dar stellt den Datentyp der Spalte dar. Die PRIMARY KEY-Einschränkung wird verwendet, um die Primärschlüsseleinschränkung festzulegen, und constraint_name ist der Name der Primärschlüsseleinschränkung. 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

Zum Beispiel können wir eine Employee-Tabelle erstellen und die Spalte EmployeeID als Primärschlüssel festlegen:

CREATE TABLE Employee (
   EmployeeID number(10) constraint pk_Employee PRIMARY KEY,
   FirstName varchar2(50),
   LastName varchar2(50),
   Age number(3),
   AltEmpID number(10) NULL
);
    Primärschlüsseleinschränkungen zu einer vorhandenen Tabelle hinzufügen#🎜🎜##🎜🎜##🎜🎜#Wenn die Primärschlüsseleinschränkungen beim Erstellen der Tabelle nicht festgelegt wurden, können wir die Primärschlüsseleinschränkungen auch nachträglich hinzufügen Die Tabelle wird erstellt. Im Folgenden finden Sie die Syntax zum Hinzufügen einer Primärschlüsseleinschränkung zu einer vorhandenen Tabelle: #🎜🎜#rrreee#🎜🎜#In der obigen Syntax stellt table_name den Namen der Tabelle dar, für die die Primärschlüsseleinschränkung gilt hinzugefügt werden soll, constraint_name code> ist der Name der Primärschlüsseleinschränkung, <code>(column1, Column2, ... Column_n) stellt den Spaltennamen dar, der als Primärschlüssel festgelegt werden soll . Es können mehrere Spalten als Primärschlüssel festgelegt werden. #🎜🎜##🎜🎜#Wenn wir beispielsweise eine Tabelle Orders erstellt haben, können wir OrderID und OrderDate zur Tabellenspalte hinzufügen als Primärschlüssel: #🎜🎜#rrreee
      #🎜🎜#Nullwert verbieten#🎜🎜##🎜🎜##🎜🎜#Nach dem Festlegen der Primärschlüsseleinschränkung verhindert Oracle automatisch das Erscheinen von Null im Tabellenwert. Wenn eine eingefügte Datenzeile einen Nullwert enthält, wird sie abgelehnt und eine Fehlermeldung ausgelöst. Stellen Sie daher sicher, dass alle Werte in den Primärschlüsselspalten der Tabelle nicht Null sind. #🎜🎜##🎜🎜#In manchen Fällen benötigen wir den Primärschlüssel, um Nullwerte zuzulassen. In diesem Fall müssen Sie das Schlüsselwort NULL in der Primärschlüsselspalte verwenden, um Nullwerte zuzulassen. #🎜🎜##🎜🎜#Wenn wir beispielsweise in der Tabelle Employee keine Mitarbeiter über die Spalte EmployeeID identifizieren möchten, können wir sie so einstellen, dass Null zulässig ist Werte: #🎜🎜#rrreee#🎜🎜#Das Obige ist die Methode zum Festlegen von Primärschlüsseleinschränkungen in Oracle. Das Festlegen von Primärschlüsseln ist für die Datenbankleistung und Datenintegrität sehr wichtig. Stellen Sie daher beim Entwurf der Datenbank sicher, dass Sie Primärschlüsseleinschränkungen festlegen, um Datenkonsistenz und -integrität sicherzustellen. #🎜🎜#

Das obige ist der detaillierte Inhalt vonOracle legt den Primärschlüssel fest. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn