Maison  >  Article  >  base de données  >  Que signifie l’attribut d’identité dans SQL ?

Que signifie l’attribut d’identité dans SQL ?

WBOY
WBOYoriginal
2024-02-19 11:24:08759parcourir

Que signifie l’attribut d’identité dans SQL ?

Qu'est-ce que l'identité en SQL ? Des exemples de code spécifiques sont nécessaires

En SQL, l'identité est un type de données spécial utilisé pour générer des nombres auto-croissants. Il est souvent utilisé pour identifier de manière unique chaque ligne de données dans une table. La colonne Identité est généralement utilisée conjointement avec la colonne clé primaire pour garantir que chaque enregistrement possède un identifiant unique. Cet article détaillera comment utiliser Identity et quelques exemples de code pratiques.

  1. Utilisation de base d'Identity

Lors de la création d'une table, vous pouvez utiliser l'attribut Identity pour spécifier une colonne comme colonne à incrémentation automatique. En règle générale, la colonne Identité est utilisée avec un type entier (tel que INT, BIGINT, etc.). Voici un exemple d'utilisation d'Identity lors de la création d'une table :

CREATE TABLE [dbo].[Customers]  (
   [CustomerID] INT IDENTITY(1,1) PRIMARY KEY,
   [CustomerName] NVARCHAR(50) NOT NULL,
   [ContactName] NVARCHAR(50) NOT NULL,
   [Address] NVARCHAR(100) NULL
);

Dans le code ci-dessus, la colonne CustomerID est désignée comme colonne Identity, et chaque fois que des données sont insérées, elle générera automatiquement un numéro unique à incrémentation automatique comme identification. .

  1. Attributs de l'identité

La colonne Identité a deux attributs importants : Seed (graine) et Increment (incrément).

Seed spécifie la valeur de départ de la colonne Identité, qui est par défaut 1. Dans l'exemple ci-dessus, la valeur Seed est 1, ce qui signifie que le CustomerID de la première ligne de données est 1, le CustomerID de la deuxième ligne de données est 2, et ainsi de suite.

Increment spécifie l'étape de croissance de la valeur d'identité et la valeur par défaut est 1. Dans l'exemple ci-dessus, la valeur Incrément est 1, ce qui signifie que chaque fois que de nouvelles données sont insérées, la valeur Identité augmentera automatiquement de 1. Cependant, vous pouvez également modifier la taille du pas de croissance en modifiant la valeur Incrément.

  1. Insérer des données à l'aide de l'identité

L'insertion de données à l'aide de la colonne Identité est très simple, il suffit de ne pas inclure la valeur de la colonne Identité. Lors de l'insertion de données, la base de données génère automatiquement des valeurs uniques pour la colonne Identité. L'exemple ci-dessous montre comment insérer des données dans la colonne Identity :

INSERT INTO Customers (CustomerName, ContactName, Address)
VALUES ('ABC Company', 'John Smith', '123 Main Street');

INSERT INTO Customers (CustomerName, ContactName, Address)
VALUES ('XYZ Inc', 'Jane Doe', '456 Maple Avenue');

Dans le code ci-dessus, nous avons uniquement inséré les valeurs des colonnes CustomerName, ContactName et Address sans préciser la valeur de CustomerID. La base de données génère automatiquement une valeur unique pour CustomerID.

  1. Obtenir la valeur de l'identité

Parfois, nous devons obtenir la valeur de l'identité des données que nous venons d'insérer. Dans SQL Server, nous pouvons utiliser la fonction SCOPE_IDENTITY() pour obtenir la valeur d'identité des données les plus récemment insérées. Le code suivant montre comment utiliser la fonction SCOPE_IDENTITY() :

INSERT INTO Customers (CustomerName, ContactName, Address)
VALUES ('ABC Company', 'John Smith', '123 Main Street');

SELECT SCOPE_IDENTITY() AS LastID;

Dans le code ci-dessus, nous insérons une nouvelle donnée et utilisons l'instruction SELECT pour obtenir la valeur d'identité des données récemment insérées et l'enregistrons dans le champ LastID. .

  1. Personnalisation de la colonne Identité

Parfois, nous pouvons souhaiter personnaliser la valeur de départ de la colonne Identité. SQL Server nous permet de modifier la valeur actuelle de la colonne Identity via l'instruction DBCC CHECKIDENT. Le code ci-dessous montre comment utiliser l'instruction DBCC CHECKIDENT :

DBCC CHECKIDENT ('Customers', RESEED, 100);

Dans le code ci-dessus, nous réinitialisons la valeur actuelle de la colonne Identity de la table Customers à 100. La prochaine fois que des données seront insérées, la valeur d'identité passera de 101.

Résumé :

L'identité est un identifiant auto-croissant couramment utilisé en SQL, utilisé pour identifier le caractère unique de chaque ligne de données dans la table. Lors de la création d'une table, vous pouvez utiliser la propriété Identity pour spécifier une colonne comme colonne Identity. Lors de l'insertion de données, si la valeur de la colonne Identité n'est pas spécifiée, la base de données générera automatiquement un numéro unique auto-croissant comme identifiant. Grâce à la fonction SCOPE_IDENTITY(), vous pouvez obtenir la valeur d'identité des données les plus récemment insérées. Dans le même temps, vous pouvez utiliser l'instruction DBCC CHECKIDENT pour personnaliser la valeur actuelle de la colonne Identity. J'espère que cet article vous sera utile pour étudier et utiliser Identity dans 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:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn