Mysql
 sql >> Base de données >  >> RDS >> Mysql

Supprimer la requête pour supprimer des lignes dans MySQL

Ce didacticiel fait partie de la série Apprendre les requêtes SQL de base à l'aide de MySQL. Dans ce tutoriel, nous aborderons les requêtes SQL pour supprimer les lignes ou les données d'une table dans MySQL.

Supprimer la requête

La commande SUPPRIMER peut être utilisé pour supprimer ou supprimer des lignes d'un tableau. La commande DELETE est irréversible, nous devons donc l'utiliser avec précaution. Si vous êtes connecté à distance à la base de données, vous aurez également besoin du privilège DELETE pour la table afin de supprimer les lignes d'une table.

# DELETE - Syntax
DELETE FROM `table_name` WHERE <single or multiple filter conditions>;

Explication de la requête

La commande MySQL DELETE peut être utilisé pour supprimer des lignes ou des données du nom de table donné où le nom de la table est obligatoire et la clause WHERE est facultative.

Nous devons spécifier au moins une condition à l'aide de la clause WHERE pour que les lignes puissent être supprimées, sinon la table entière sera effacée. Toutes les lignes du tableau obtient supprimé sans la condition.

Exemples

Cette section fournit des exemples pour supprimer des lignes de la table à l'aide de la commande DELETE. Utilisez la requête mentionnée ci-dessous pour créer la table utilisateur avec l'identifiant, le prénom, le nom et les colonnes actives pour stocker les données utilisateur.

# Create the User Table
CREATE TABLE `enterprise`.`user` (
`user_id` BIGINT NOT NULL,
`first_name` VARCHAR(45) ,
`last_name` VARCHAR(45),
`active` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`));

La requête ci-dessous peut être utilisée pour insérer des données dans la table des utilisateurs.

# Insert Rows - All Columns
INSERT INTO `user` ( `user_id`, `first_name`, `last_name`, `active` ) VALUES
( 1, 'John', 'Smith', 1 ),
( 2, 'Rick', 'Jones', 1 ),
( 3, 'Catherine', 'Ponting', 0 ),
( 4, 'Harsh', 'Upadhyay', 1 ),
( 5, 'Tajwinder', 'Singh', 0 );

La requête mentionnée ci-dessus insérera 5 lignes dans le tableau ayant l'identifiant, le prénom, le nom et les colonnes actives pour représenter 5 utilisateurs différents.

Nous allons maintenant supprimer les données que nous avons insérées dans la table des utilisateurs. Cela peut être fait en utilisant la commande SUPPRIMER comme indiqué ci-dessous.

# DELETE - Delete all the inactive users
DELETE FROM `user` WHERE `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1


# DELETE - Remove selective users
DELETE FROM `user` WHERE `user_id` = 1;
DELETE FROM `user` WHERE `user_id` IN( 2, 4 );

# Result - All rows deleted

Les requêtes mentionnées ci-dessus suppriment les lignes de la table utilisateur à l'aide de la clause WHERE. Les lignes du tableau seront supprimées si la ligne remplit les conditions données.

Maintenant, exécutez à nouveau la requête INSERT pour insérer les données de test. Nous pouvons également supprimer des lignes en utilisant plusieurs conditions, comme indiqué ci-dessous.

# DELETE - Delete inactive users using first name
DELETE FROM `user` WHERE `first_name` = 'Catherine' AND `active` = 0;

# Result
1 John Smith 1
2 Rick Jones 1
4 Harsh Upadhyay 1
5 Tajwinder Singh 0

C'est ainsi que nous pouvons supprimer les données stockées dans les tables MySQL.