Supprimer la contrainte de la table MySQL

Rashmi Patidar 30 janvier 2023
  1. Créer une table avec des contraintes dans MySQL
  2. Supprimer la contrainte de la table MySQL
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.

  1. Contrainte au niveau de la colonne
  2. 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.

  1. Contrainte de niveau de colonne : Le type de contraintes comme non-null et unique 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.
  2. 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 contraintes PrimaryKey, ForeignKey et Index.

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.

Exécution réelle avec contraintes dans le tableau

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.

Supprimer la contrainte de clé primaire de la table studentPk

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 :

Créer une nouvelle table avec une contrainte de clé étrangère dans MySQL

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.

Décrire la table MySQL et le nom de la contrainte

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 :

  1. 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.

  2. La commande drop sans connaître le nom de la clé entraîne l’erreur ci-dessous :

    Erreur lors de la suppression de la contrainte de clé étrangère lorsqu’elle est utilisée sans nom de clé

  3. La commande SHOW CREATE TABLE est obligatoire.

Rashmi Patidar avatar Rashmi Patidar avatar

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

Article connexe - MySQL Table