Maison > Article > base de données > Une brève discussion sur les deux méthodes et différences de suppression des données de table dans MySQL
Il existe deux façons de supprimer des données dans MySQL
:
1, truncate
(troncature) est un type d'effacement approximatif
2. delete
Suppression affinée
Opération de suppression
Si vous devez effacer toutes les données du tableau, les deux suivantes sont disponibles :
delete from tablename; truncate table tablename;
Et si vous ne supprimez qu'une partie des données, vous ne pouvez utiliser que delete
:
delete from tablename where case1 and case2;
Différence
Lors de la suppression d'une partie des données de manière détaillée, seul delete
peut être utilisé.
Lors de l'effacement de toutes les données du tableau, les deux sont possibles. À l'heure actuelle, il existe certaines différences entre les deux méthodes :
Valeur de retour
La valeur de retour est truncate
, et 0
renverra le nombre d'enregistrements supprimésdelete
mysql> truncate serviceHost; Query OK, 0 rows affected (0.04 sec) mysql> delete from serviceHost where creator='test'; Query OK, 4 rows affected (0.01 sec)
Champ d'incrémentation automatique
S'il y en a. is Pour les champs à incrémentation automatique, sera réinitialisé à truncate
et 1
conservera la valeur maximale d'incrémentation automatique. delete
3. Efficacité d'exécution
Sans scanner la table, cela équivaut à recréer la table, en ne conservant que la structure de la table, puis suppression de la table d'origine. Très efficace. truncate
analysera l'intégralité du tableau et portera des jugements basés sur la déclaration delete
, l'efficacité est donc faible. where
4. Journal des opérations
Si le journal du serveur n'est pas écrit, il ne peut pas être restauré. truncate
écrira les journaux du serveur. delete
5. Le déclencheur
n'active pas le déclencheur, truncate
active le déclencheur. delete
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!