Contrainte de vérification sqlite

Contrainte de vérification sqlite
Les contraintes sont des restrictions appliquées aux tables de base de données pour assurer la sécurité et la redondance aux données de la table et éviter un accès non autorisé. De nombreuses contraintes sont disponibles dans la base de données SQL, I.e., Clé primaire, clé unique, clé étrangère, vérification composite, où les clauses et bien d'autres. L'une de ces contraintes est la contrainte de vérification SQLite spécifiée dans l'instruction de la table de création au moment de la création de table. Par conséquent, nous discuterons de son utilisation dans certains exemples de tables SQLite.Démarrez cet article en ouvrant le shell sur votre Ubuntu 20.04 écran de bureau. Essayez le raccourci «Ctrl + Alt + T» pour le faire. Démarrez le terminal et mettez à jour votre système d'abord. Pour la mise à jour, essayez la commande de mise à jour APT, suivie d'une utilisation d'un mot de passe pour l'utilisateur administrateur actuellement connecté. En aucune seconde, votre système est mis à jour.

Après la mise à jour du système, améliorez-la également. Essayez la même instruction avec le mot-clé «mise à niveau» au lieu du mot-clé «mise à jour». Ce processus est terminé en quelques secondes car tous les packages ont déjà été mis à jour et mis à niveau.

Il est temps d'exécuter la base de données SQLite, I.e., C-bibliothèque de SQL, qui a déjà été installée sur le shell à l'aide du mot-clé «SQLite3». Démarrez et lancez son shell en utilisant la commande suivante:

Énumérons toutes les tableaux d'une base de données SQLite dans notre console SQLite. Après avoir utilisé le «.Tables »Instruction, nous avons découvert qu'il n'y avait pas de tableaux dans la base de données. Par conséquent, nous devons en créer un.

Créer une nouvelle table «Données» sur la base de données à l'aide de l'instruction CREATE Table. Nous avons créé trois colonnes dans cette table, le nom et l'âge. Vous devez appliquer la contrainte de contrôle sur au moins une de ses colonnes. Par conséquent, nous avons ajouté la contrainte de vérification. Ce chèque contient la condition que la valeur d'une colonne «l'âge» doit être supérieure à 18. Le ".Tables »L'instruction montre que le tableau a été créé avec succès.

Créer des données de table (id int touche primaire, nom du texte non nul, âge int chèque (âge> 18));

Notre tableau de données est vide car nous n'avions pas encore inséré aucun enregistrement. Nous avons donc mis des enregistrements dans le tableau pour présenter l'utilisation de la contrainte de vérification appliquée à la colonne d'âge. Nous avons utilisé l'insert dans l'instruction pour insérer trois enregistrements uniques dans les colonnes ID, nom et âge d'un tableau de données. Tous les enregistrements ont été ajoutés avec succès sans aucune erreur. Nous avons ajouté les valeurs supérieures à 18 dans la colonne d'âge et avons fourni la clé primaire unique, comme un identifiant unique, pour chaque enregistrement. La requête sélectionnée est exécutée pour récupérer tous les enregistrements de la table de données, i.e., Un total de trois records.

Insérer dans les valeurs de données (id, nom, âge) (1, "Harry", 22);
Insérer dans les valeurs de données (id, nom, âge) (2, "Bryan", 25);
Insérer dans les valeurs de données (id, nom, âge) (3, "Julia", 44);
Sélectionner * à partir des données;

Essayons de saisir un autre enregistrement dans la colonne ID, nom et âge d'un tableau de données en utilisant l'insertion dans l'instruction.

Nous avons inséré un seul enregistrement unique dans le tableau «données» et obtenu l'erreur «La contrainte de vérification a échoué: données». Nous avons utilisé la valeur 17 pour l'âge de la colonne, qui est la contrainte de vérification que nous avons appliquée à l'âge> 18.

Insérer dans les valeurs de données (id, nom, âge) (4, "Mario", 17);

Voyons comment fonctionne une contrainte de vérification et réagit aux valeurs négatives tout en étant placés dans la colonne spécifique.

Nous avons essayé l'insert dans l'instruction pour insérer le 4e Enregistrer dans le tableau «Données» et avoir reçu l'erreur «Vérifier la contrainte Échec: données» à nouveau. La raison de cette erreur est l'utilisation d'une valeur entière négative «-22» pour l'âge de colonne d'une table qui est à nouveau la contrainte de contrôle appliquée à cette colonne, je.e., Vérifiez "Age> 18".

Insérer dans les valeurs de données (id, nom, âge) (5, "Mario", -22);

Regardons un autre exemple pour appliquer la contrainte de vérification sur la colonne spécifique.

Nous avons créé une nouvelle table, «Person», avec deux colonnes, «ID» et «Nom». La contrainte de vérification est appliquée à la colonne «nom» de ce tableau au moment de la création de table. La contrainte montre que la longueur d'une valeur de «nom» de colonne ne doit pas dépasser huit caractères, i.e., longueur (nom) <= 8. After that, we inserted three unique records within the newly created table “Person” with the help of an INSERT INTO instruction. The SELECT instruction displays all three records on our SQLite query screen.

Créer une personne de table (id int clé primaire, nom de texte de nom (longueur (nom) <= 8));
Insérer dans la personne (id, nom) Valeurs (1, "William");
Insérer dans la personne (id, nom) valeurs (2, "Peter K");
Insérer dans Person (id, nom) Valeurs (3, "Leonardo");
Sélectionner * à la personne;

Sur l'insertion du 4e Enregistrer avec l'insert dans l'instruction, nous avons ajouté la valeur contenant plus de huit caractères pour la colonne «nom» de ce tableau et obtenu l'erreur «La contrainte de vérification a échoué.

Insérer dans les valeurs de personne (id, nom) (4, "Leonardo decaprio");

Voici une autre méthode pour ajouter une contrainte de vérification sur la colonne spécifique.

Vous devez spécifier une colonne comme unique dans son type de données. Nous avons créé un nouveau test de table avec l'instruction de la table de création ayant deux colonnes, ID et âge de type entier. La colonne d'âge est spécifiée comme unique. Après cela, nous avons essayé l'insert en commande pour insérer les trois enregistrements du tableau de test, et nous avons obtenu un résultat réussi conformément à l'instruction SELECT.

Créer un test de table (id int clé primaire, âge non nulle unique));
Insérer dans les valeurs de test (id, âge) (1, 33);
Insérer dans les valeurs de test (id, âge) (2, 46);
Insérer dans les valeurs de test (id, âge) (3, 26);
SELECT * à partir du test;

Pour appliquer la contrainte de vérification sur la colonne d'âge contenant la contrainte unique, essayez l'instruction de la table alter suivie de la clause de modification contenant la contrainte de vérification.

Modifier le test de table modifier l'âge int not nul (âge < 55);

Lors de l'insertion de la plus grande valeur, nous avons à nouveau obtenu l'erreur d'échec de la contrainte de contrôle.

Insérer dans les valeurs de test (id, âge) (4, 56);

Conclusion

Cet article contient d'immenses connaissances sur la contrainte de vérification de SQLite. Nous avons discuté de son utilisation dans les requêtes lors de la création d'un tableau et de la façon dont il réagit à de mauvaises valeurs. Nous espérons que les méthodes que nous avons appliquées peuvent facilement éradiquer toute la confusion.