Supprimer la contrainte de la table MySQL
La contrainte est un ensemble de règles ou de restrictions interdisant la saisie de données dans les colonnes MySQL. La table dans MySQL a divers attributs ou colonnes sur lesquels un utilisateur souhaite des restrictions.
Les barrières appliquées désactivent l’autorisation de tous les types de valeurs de données dans l’ensemble de colonnes MySQL, assurant la cohérence dans la colonne. Elle n’active que les valeurs autorisées dans la définition du jeu de contraintes appliqué.
Créer une table avec des contraintes dans MySQL
Dans MySQL, les utilisateurs peuvent appliquer les contraintes sur les colonnes avec le schéma de table. Ces contraintes peuvent être de deux types donnés ci-dessous.
- Contrainte au niveau de la colonne
- Contrainte au niveau de la table
Syntaxe pour créer une table avec des contraintes :
Create table tablemname
attributeName1 attributeType constraint,
attributeName2 attributeType constraint,
...
attributeNameN attributeType constraint,
TableLevelConstraint(AttributeName)
La syntaxe du code ci-dessus montre comment créer des contraintes au niveau de la table et au niveau de la colonne pour chacun. L’idée derrière les deux est de donner aux utilisateurs le privilège d’ajouter des contraintes si nécessaire.
Contrainte de niveau de colonne
: Le type de contraintes commenon-null
etunique
sont définis lors de la définition des noms d’attributs. Cela signifie que le nom de la contrainte se trouve après que les données de l’attribut sont fournies.Contrainte de niveau table
: Le type de contraintes est défini à la fin de la définition de la table. Ces contraintes sont comme les contraintesPrimaryKey
,ForeignKey
etIndex
.
Liste des requêtes avant la requête proprement dite sur les tables :
create table studentPK ( id varchar(255) not null, firstName varchar(255), lastname varchar(255), age integer, primary key (id));
La commande ci-dessus crée une table studentPK
avec des attributs tels que id
, firstName
, lastName
et age
. La contrainte primary key
est un mot-clé défini dans MySQL pour créer la clé primaire ou l’identifiant unique de la table.
La syntaxe prend les paramètres dans son argument pour faire de l’attribut la clé primaire.
Describe studentPK;
Une autre requête consiste à décrire la table qui est créée. L’image ci-dessous illustre la contrainte qui est entrée dans les champs de la table studentPK
.
Supprimer la contrainte de la table MySQL
Requête pour exécuter la contrainte DROP dans MySQL :
Alter table studentPK drop primary key;
La syntaxe ci-dessus modifie la syntaxe de studentPk
en utilisant le mot-clé Alter
. Puisque la contrainte est au niveau de la table, il est facile de bien la déposer au niveau de la table.
La commande Alter
est la meilleure solution lors de la modification du schéma de la table. Il modifie le schéma de la table StudentPk
en supprimant la clé primaire de celle-ci.
Vous trouverez ci-dessous l’image d’exécution locale pour la même chose.
De même, lorsque la même clé est utilisée dans d’autres tables, elle est supprimée en supprimant la clé étrangère d’une autre table.
Requête pour créer la contrainte clé étrangère
:
create table studentDept ( deptid varchar(255) not null, deptName varchar(255), id varchar(255), foreign key(id) references studentPK (id));
La requête ci-dessus crée une clé étrangère comme id
sur une autre table de relation studentDept
. La clé étrangère est formée en utilisant le mot clé clé étrangère
.
Avec le mot-clé, il nécessite le mot-clé références
pour lier la table parent afin de rendre les deux tables dépendantes. Le mot-clé references
lie le champ id
de la table studentPk
en tant que clé étrangère dans la table studentDept
.
La sortie peut être vérifiée dans l’image ci-dessous :
Lorsqu’une clé étrangère est créée en interne, un nouveau nom de clé pour la clé est créé. La déclaration pour décrire la table et voir le nom est la suivante :
SHOW CREATE TABLE studentDept;
Ci-dessous, l’image de la sortie de la console pour voir la structure de la table dans MySQL.
L’image ci-dessus indique que la clé étrangère est créée avec le nom studentdept_ibfk_1
. Maintenant, il est facile de déposer la clé étrangère avec le nom qu’elle a créé.
Alter table studentDept drop foreign key studentdept_ibfk_1;
La requête ci-dessus supprime la clé étrangère de la table studentDept
. La commande Alter
indique que le changement se produit au niveau du schéma.
La clé étrangère est supprimée de la table studentDept
. Il peut être revérifié à l’aide de la commande describe
.
Points à retenir avant de déposer la clé étrangère :
-
Le nom de la clé étrangère est nécessaire au préalable. Une clé est nécessaire pour supprimer la contrainte de la table.
-
La commande
drop
sans connaître le nom de la clé entraîne l’erreur ci-dessous : -
La commande
SHOW CREATE TABLE
est obligatoire.
Rashmi is a professional Software Developer with hands on over varied tech stack. She has been working on Java, Springboot, Microservices, Typescript, MySQL, Graphql and more. She loves to spread knowledge via her writings. She is keen taking up new things and adopt in her career.
LinkedIn