Comment utiliser la clé primaire dans SQLite

Comment utiliser la clé primaire dans SQLite
SQLite est un système de gestion de base de données, qui est utilisé pour gérer les données de la base de données relationnelle, tout comme MySQL, il contient également de nombreuses contraintes telles que la clé unique, la clé primaire et la clé étrangère comme d'autres bases de données.

Alors quelles sont les contraintes et comment fonctionnent-ils dans SQLite? Cet article est un guide complet sur les contraintes et sur la façon d'utiliser la contrainte de clé principale dans SQLite.

Quelles sont les contraintes de Sqlite

Les contraintes sont les principes, selon lesquels les données du même type de données sont insérées dans le tableau, il organise la structure de la colonne et assure également la fiabilité des données qui sont stockées dans le tableau. Il existe de nombreuses contraintes, certaines d'entre elles sont:

  • Clé primaire
  • Clé étrangère
  • Contrainte unique
  • Contrainte par défaut
  • Vérifier la contrainte

Quelle est la clé principale de Sqlite

Une clé primaire est la colonne unique du tableau, qui garantit que les entrées insérées dans la colonne doivent être uniques et sont également utilisées pour se référer à la clé étrangère d'autres tables. Le tableau peut être créé sans utiliser la clé primaire, mais si le tableau utilise la clé primaire, une seule clé principale peut être affectée au tableau. Les clés primaires sont très essentielles lors de la création d'une base de données qui contient une variété de tables et pour créer des relations entre les différentes bases de données, la clé principale est utilisée.

Une clé primaire doit suivre ces règles:

  • La colonne de la clé primaire ne peut pas être définie avec la valeur nulle
  • Les données insérées dans les lignes de la colonne de la clé primaire doivent être uniques
  • La clé primaire doit être appelée la clé étrangère particulière d'un autre tableau
  • Le tableau ne peut contenir qu'une seule clé primaire

Une clé primaire ne peut pas être une valeur nulle dans les bases de données, mais dans le cas de SQLite, il peut se voir attribuer une valeur nulle, en raison de la «surveillance du codage de longue date».

Une table ne doit avoir qu'une seule clé primaire, mais plusieurs colonnes peuvent être définies dans une seule clé primaire, lorsque plusieurs colonnes sont utilisées comme une seule clé primaire, puis il est appelé une clé primaire composite.

Combien de façons d'ajouter une clé primaire à n'importe quelle table de SQLite

Il existe deux façons d'attribuer une clé primaire lors de la création d'une table, qui sont:

  • À la colonne unique d'une table
  • Aux multiples colonnes d'une table

Comment créer un tableau affectant une clé primaire à une colonne dans SQLite

Nous pouvons créer une table en attribuant une clé primaire à une seule colonne, sa syntaxe générale sera:

Créer une table table_name (colonnel_name1 Clé primaire non nul, colonnel_name2 ));

L'explication de cette syntaxe est la suivante:

  • La clause de Create Table est utilisée pour créer une table
  • Tapez le nom de la table au lieu de Table_Name
  • Tapez le nom de la colonne au lieu de Column_name1, et écrivez également son type de données
  • Utilisez une clause de clé primaire, si vous attribuez la colonne comme clé primaire, et définissez-la également comme nul ou non nul
  • Tapez le nom de la deuxième colonne Remplacement Column_name2

Pour le comprendre, considérons un exemple: nous créons un tableau des élèves de l'école, ayant les identifiants d'étudiants uniques, nommés (std_id), et les noms des élèves, nommés, (std_name). Dans ce tableau, les noms des élèves peuvent être les mêmes, mais les ID des étudiants ne peuvent pas être les mêmes, nous attribuons donc la clé principale à STD_ID que:

Créer une table Table School_students (std_id entier clé primaire non nul, std_names);

Le tableau de l'école_students a été créé, ayant une seule colonne comme clé primaire.

Comment créer un tableau affectant une clé primaire à plusieurs colonnes dans SQLite

Nous pouvons créer une table en attribuant une clé primaire à plusieurs colonnes, sa syntaxe générale sera:

Créer une table table_name (colonnel_name1 , Column_name2 , Column_name3 , Clé primaire (collumn_name1, chronn_name2));

Dans la syntaxe ci-dessus, nous avons défini la clé primaire à la fin de l'instruction, avec les noms de la colonne entre parenthèses qui doivent être incluses dans la clé primaire.

Encore une fois pour comprendre cela, nous considérons un exemple d'une table Employés_data, nous le créerons avec trois colonnes qui sont EMP_ID, EMP_NAME et EMP_DEP, et après cela, nous attribuons EMP_ID et EMP_NAME comme clé principale:

Créer des employés de table_data (EMP_ID INTEGER, EMP_NAME Text, EMP_DEP Text, EMP_NAME Primary Key (EMP_ID, EMP_EMAIL));

Le tableau a été créé avec la clé primaire ayant deux colonnes dedans.

Comment ajouter une clé primaire à la table existante dans SQLite

Nous ne pouvons pas ajouter une clé primaire à la table existante dans SQLite à l'aide de la clause alter, mais pour attribuer une clé primaire à une table dans SQLite, nous suivrons les étapes:

  • La contrainte de clé étrangère doit être vérifiée
  • Renommez la table à un autre nom
  • Créez une nouvelle table qui a la même structure, qui a été créée avant
  • Copiez les données de ce tableau à ce tableau
  • Supprimer la table renommée
  • En fin de compte, activez les contraintes de clés étrangères

Nous avons une table dans une base de données, nommée Students_data, qui n'a pas de clé primaire et son contenu peut être affiché en utilisant:

SELECT * FROM Students_data;

Pour attribuer «ID» une clé primaire, nous exécuterons les commandes suivantes:

Pragma étrangère_keys = off;
Commencer la transaction;
ALTER TABLE Students_data Renommez à new_students_data;
Créer une table Students_data (ID INTEGER NON NULL CLIE PRIMATIQUE, NAME TEXTE NON NULL, INTEGER DE PASSAGE NON NULL);
Insérer dans Students_Data Select * FROM NEW_STUDENTS_DATA;
Drop TABLE NEW_STUDENTS_DATA;
COMMETTRE;
Pragma étrangère_keys = on;

Pour vérifier si la clé principale est affectée à la colonne nommée, ID, exécutez la commande:

Pragma table_info ([Students_data]);

La clé principale a été affectée avec succès à la table Students_data.

Comment supprimer la contrainte de clé primaire dans sqlite

Comme d'autres bases de données, nous ne pouvons pas supprimer la contrainte en utilisant les commandes Drop and Alter, pour supprimer les contraintes de clé primaire, nous devons suivre la même procédure que nous optons pour ajouter la contrainte à un tableau existant et redéfinir la structure du tableau sans définir un primaire clé de n'importe quelle colonne. Considérons à nouveau l'exemple ci-dessus de l'ajout d'une clé primaire, et nous supprimons la clé primaire comme:

Pragma étrangère_keys = off;
Commencer la transaction;
ALTER TABLE Students_data Renommez à new_students_data;
Créer une table Students_data (ID INTEGER NON NULL, NOM Texte non nul, entier de fréquentation non nul);
Insérer dans Students_Data Select * FROM NEW_STUDENTS_DATA;
Drop TABLE NEW_STUDENTS_DATA;
COMMETTRE;
Pragma étrangère_keys = on;

Conclusion

Une clé primaire est très utile surtout pour établir des relations d'un tableau avec les autres, car une clé étrangère fait toujours référence à la clé principale du tableau, en outre, un tableau n'a qu'une seule clé primaire, mais ses champs peuvent être un ou plusieurs. Dans cet article, nous avons discuté de la façon dont la clé primaire est utilisée dans SQLite et nous avons également discuté avec des exemples comment une clé primaire est affectée à une ou plusieurs colonnes ainsi qu'au tableau qui existe déjà sans clé primaire.