Maison  >  Article  >  base de données  >  Comprendre brièvement les contraintes de la clé primaire de SQL Server (PRIMARY KEY)

Comprendre brièvement les contraintes de la clé primaire de SQL Server (PRIMARY KEY)

WBOY
WBOYavant
2022-09-06 17:30:573068parcourir

Cet article vous apporte des connaissances pertinentes sur SQL server, qui présente principalement les contraintes de clé primaire de SQL Server (PRIMARY KEY). La clé primaire est une colonne ou un groupe de colonnes qui identifie de manière unique chaque ligne du tableau. le thème. Jetons un coup d’œil aux détails ci-dessous, j’espère que cela sera utile à tout le monde.

Comprendre brièvement les contraintes de la clé primaire de SQL Server (PRIMARY KEY)

Étude recommandée : "Tutoriel SQL"

Introduction aux contraintes PRIMARY KEY (clé primaire) de SQL Server

La clé primaire est une colonne ou un groupe de colonnes qui identifie de manière unique chaque ligne de la table. Vous pouvez utiliser des contraintes de clé primaire pour créer une clé primaire pour une table.
Si la clé primaire ne contient qu'une seule colonne, vous pouvez utiliser la contrainte PRIMARY KEY comme contrainte de colonne : PRIMARY KEY约束作为列约束:

CREATE TABLE table_name (
    pk_column data_type PRIMARY KEY,
    ...
);

如果主键有两列或多列,则必须将主键约束用作表约束:

CREATE TABLE table_name (
    pk_column_1 data_type,
    pk_column_2 data type,
    ...
    PRIMARY KEY (pk_column_1, pk_column_2)
);

每个表只能包含一个主键,一个主键可以包含多个列,即多个列的组合不能重复。参与主键的所有列必须定义为NOT NULL。如果未为所有主键列指定NOT NULL约束,SQL Server会自动为这些列设置非空约束。

SQL Server PRIMARY KEY约束示例

以下示例创建了一个具有主键的表,主键由一列组成:

CREATE TABLE dbo.activities (
    activity_id INT PRIMARY KEY IDENTITY,--主键
    activity_name VARCHAR (255) NOT NULL,
    activity_date DATE NOT NULL
);

在表dbo.activities中,activity_id列是主键列,意味着这一列的值不能重复

IDENTITY属性用于activity_id列自动生成唯一的整数值。

下面创建一个由两列组成外键的新表:

CREATE TABLE dbo.participants(
    activity_id int,
    customer_id int,
    PRIMARY KEY(activity_id, customer_id)
);

在本例中,activity_idcustomer_id列中的值可以重复,但两列中的每个值组合都必须是唯一的。

通常,表总是在创建时定义主键。然而,有时,现有表可能没有定义主键。在这种情况下,可以使用ALTER TABLE语句向表中添加主键。比如示例:

先创建一个没有主键列的表:

CREATE TABLE dbo.events(
    event_id INT NOT NULL,
    event_name VARCHAR(255),
    start_date DATE NOT NULL,
    duration DEC(5,2)
);

然后使event_id列成为主键:

ALTER TABLE sales.events 
ADD PRIMARY KEY(event_id);

注意,如果 sales.events 表已经有数据,在将 event_id 列提升为主键之前,必须确保 event_idrrreee

Si la clé primaire a deux colonnes ou plus, vous devez utiliser la clé primaire contrainte de clé comme contrainte de table :
rrreee

Chaque table ne peut contenir qu'une seule clé primaire, et une clé primaire peut contenir plusieurs colonnes, c'est-à-dire que la combinaison de plusieurs colonnes ne peut pas être répétée. Toutes les colonnes participant à la clé primaire doivent être définies comme NOT NULL. Si les contraintes NOT NULL ne sont pas spécifiées pour toutes les colonnes de clé primaire, SQL Server définit automatiquement des contraintes non nulles pour ces colonnes. Exemple de contrainte SQL Server PRIMARY KEY

🎜L'exemple suivant crée une table avec une clé primaire constituée d'une colonne : 🎜rrreee🎜Dans la table dbo.activities, activity_id est une colonne de clé primaire, ce qui signifie que la valeur de cette colonne ne peut pas être répétée. L'attribut IDENTITY est utilisé pour générer automatiquement une valeur entière unique pour le . colonne Activity_id. 🎜🎜Ce qui suit crée une nouvelle table avec deux colonnes qui forment la clé étrangère : 🎜rrreee🎜Dans ce cas, la colonne activity_id ou customer_id Les valeurs peuvent être répétées, mais chaque combinaison de valeurs dans les deux colonnes doit être unique. 🎜🎜Normalement, la clé primaire est toujours définie lors de la création d'une table. Parfois, cependant, une table existante peut ne pas avoir de clé primaire définie. Dans ce cas, vous pouvez utiliser l'instruction ALTER TABLE pour ajouter une clé primaire à la table. Par exemple : 🎜🎜Créez d'abord une table sans colonne de clé primaire : 🎜rrreee🎜 Ensuite, faites de la colonne event_id la clé primaire : 🎜rrreee
🎜Notez que si La table sales.events contient déjà des données. Avant de promouvoir la colonne event_id en clé primaire, vous devez vous assurer que les valeurs de event_id sont uniques. 🎜🎜🎜Apprentissage recommandé : "🎜Tutoriel SQL🎜"🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer