Maison > base de données > tutoriel mysql > Comment supprimer des données à l'aide de la commande mysql ?

Comment supprimer des données à l'aide de la commande mysql ?

青灯夜游
Libérer: 2020-10-05 16:00:06
original
11789 Les gens l'ont consulté

Dans MySQL, vous pouvez utiliser la commande "DELETE FROM

[WHERE clause] [ORDER BY clause] [LIMIT clause]" pour supprimer des données dans une seule table, vous pouvez également utiliser " TRUNCATE ; [TABLE] nom de la table" supprime toutes les données de la table de données et efface la table.

Comment supprimer des données à l'aide de la commande mysql ?

Utilisez l'instruction DELETE pour supprimer des données dans une seule table

Dans MySQL, vous pouvez utiliser l'instruction DELETE pour supprimer une ou plusieurs lignes de données de la table.

Le format de syntaxe est :

DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
Copier après la connexion

La description de la syntaxe est la suivante :

 : Spécifiez le nom de table des données à supprimer.

  • Clause ORDER BY : Facultatif. Indique que lors de la suppression, les lignes du tableau seront supprimées dans l'ordre spécifié dans la clause.

  • Clause WHERE : facultative. Indique que les conditions de suppression sont limitées pour l'opération de suppression. Si cette clause est omise, cela signifie que toutes les lignes de la table sont supprimées.

  • Clause LIMIT : Facultatif. Utilisé pour indiquer au serveur le nombre maximum de lignes à supprimer avant que la commande de contrôle ne soit renvoyée au client.

  • Remarque : Lorsque la condition WHERE n'est pas utilisée, toutes les données seront supprimées.

    Exemple : Supprimer toutes les données de la table

    Supprimer toutes les données de la table tb_courses_new L'instruction SQL saisie et les résultats de l'exécution sont les suivants.

    mysql> DELETE FROM tb_courses_new;
    Query OK, 3 rows affected (0.12 sec)
    mysql> SELECT * FROM tb_courses_new;
    Empty set (0.00 sec)
    Copier après la connexion

    Utilisez l'instruction TRUNCATE pour supprimer des données dans la table de données

    Le mot-clé TRUNCATE est utilisé pour effacer complètement une table. Le format de syntaxe est le suivant :

    TRUNCATE [TABLE] 表名
    Copier après la connexion

    Parmi eux, le mot-clé TABLE peut être omis.

    Exemple

    Créez une nouvelle table tb_student_course, insérez des données et une requête. Les instructions SQL et les résultats d'exécution sont les suivants :

    mysql> CREATE TABLE `tb_student_course` (
        -> `id` int(4) NOT NULL AUTO_INCREMENT,
        -> `name` varchar(25) NOT NULL,
        -> PRIMARY KEY (`id`)
        -> );
    Query OK, 0 rows affected (0.04 sec)
    mysql> INSERT INTO tb_student_course(name) VALUES (&#39;Java&#39;),(&#39;MySQL&#39;),(&#39;Python&#39;);
    Query OK, 3 rows affected (0.05 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    mysql> SELECT * FROM tb_student_course;
    +----+--------+
    | id | name   |
    +----+--------+
    |  1 | Java   |
    |  2 | MySQL  |
    |  3 | Python |
    +----+--------+
    3 rows in set (0.00 sec)
    Copier après la connexion

    Utilisez le TRUNCATE. instruction pour effacer la table tb_student_course. Les enregistrements, les instructions SQL et les résultats d'exécution sont les suivants :

    mysql> TRUNCATE TABLE tb_student_course;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> SELECT * FROM tb_student_course;
    Empty set (0.00 sec)
    Copier après la connexion

    La différence entre TRUNCATE et DELETE

    Logiquement parlant, l'instruction TRUNCATE a le même effet que l'instruction DELETE, mais dans certains cas, il existe des différences d'utilisation entre les deux.

    • DELETE est une instruction de type DML ; TRUNCATE est une instruction de type DDL. Ils sont tous deux utilisés pour effacer les données du tableau.

    • DELETE supprime les enregistrements ligne par ligne ; TRUNCATE supprime directement la table d'origine puis recrée une nouvelle table identique au lieu de supprimer les données de la table ligne par ligne. Par conséquent, lorsque vous devez supprimer toutes les lignes de données de la table, essayez d'utiliser l'instruction TRUNCATE pour raccourcir le temps d'exécution.

    • DELETE Après la suppression des données, les données peuvent être récupérées avec l'annulation d'événement ; TRUNCATE ne prend pas en charge l'annulation des transactions et les données ne peuvent pas être récupérées après la suppression.

    • DELETE Après la suppression des données, le système ne réinitialisera pas le compteur du champ d'auto-incrémentation ; TRUNCATE Après avoir effacé les enregistrements de la table, le système réinitialisera le compteur du champ d'auto-incrémentation ; .

    • DELETE a un champ d'utilisation plus large car il peut supprimer une partie des données en spécifiant des conditions via la clause WHERE ; ne prend pas en charge la clause WHERE et ne peut supprimer que la totalité des données.

    • DELETE renverra le nombre de lignes de données supprimées, mais TRUNCATE ne renverra que 0, ce qui n'a aucun sens.

    Résumé

    Lorsque la table n'est pas nécessaire, utilisez DROP lorsque vous souhaitez toujours conserver la table mais supprimez tous les enregistrements, utilisez TRUNCATE ; ; lorsque vous souhaitez supprimer certains enregistrements, utilisez DELETE.

    Tutoriel recommandé : Tutoriel vidéo MySQL

    Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

    Étiquettes associées:
    source:php.cn
    Déclaration de ce site Web
    Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
    Tutoriels populaires
    Plus>
    Derniers téléchargements
    Plus>
    effets Web
    Code source du site Web
    Matériel du site Web
    Modèle frontal