Dans SQL-supprimer la différence entre la suppression, la troncature et la suppression des données de table

Tout d'abord, la syntaxe en SQL

1. nom de la table drop table par exemple: drop table dbo.Sys_Test
2. truncate table table name par exemple: truncate table dbo.Sys_Test
3. delete from table name where column name = value eg: delete from dbo.Sys_Test where test = 'test'

Deuxièmement, supprimez, tronquez, supprimez la différence

1. drop (supprimer le tableau): supprimez le contenu et les définitions pour libérer de l'espace. Autrement dit, la table entière est supprimée. Il est impossible d'ajouter des données à l'avenir, à moins qu'une nouvelle table ne soit ajoutée.
L'instruction drop supprimera les contraintes, déclencheurs et index dont dépend la structure de la table; les procédures / fonctions stockées qui dépendent de la table seront conservées, mais son état deviendra: invalide.

2. tronquer (effacer les données du tableau): supprimer le contenu, libérer de l'espace mais pas supprimer la définition (conserver la structure des données du tableau). La différence avec drop est qu'elle efface uniquement les données de la table.

   注意:truncate 不能删除行数据,要删就要把表清空。

3. supprimer (supprimer les données du tableau): l'instruction delete est utilisée pour supprimer les lignes du tableau. Le processus de suppression d'une instruction de suppression consiste à supprimer une ligne de la table à chaque fois et, en même temps, à supprimer la ligne en tant qu'enregistrement de transaction dans le journal pour l'opération de restauration.

   truncate与不带where的delete :只删除数据,而不删除表的结构(定义)

4. La table tronquée supprime toutes les lignes de la table, mais la structure de la table et ses colonnes, contraintes, index, etc. restent inchangées. La valeur de comptage utilisée pour le nouvel ID de ligne est réinitialisée à la valeur de départ de cette colonne. Si vous souhaitez conserver la valeur du nombre de logos, utilisez plutôt la suppression.

   如果要删除表定义及其数据,请使用 drop table 语句。  

5. Pour la table référencée par la contrainte de clé étrangère, vous ne pouvez pas utiliser la table tronquée, mais vous devez utiliser l'instruction delete sans la clause where. Étant donné que la table tronquée est enregistrée dans le journal, elle ne peut pas activer le déclencheur.

6. Vitesse d'exécution, d'une manière générale: drop> tronquer> supprimer.

7. L'instruction delete est le langage d'opération de base de données (dml). Cette opération sera placée dans le segment d'annulation et ne prendra effet qu'après la soumission de la transaction. S'il existe un déclencheur correspondant, il sera déclenché lors de son exécution.

truncate et drop sont des langages de définition de base de données (ddl). L'opération prend effet immédiatement. Les données d'origine ne sont pas placées dans le segment d'annulation et ne peuvent pas être annulées. L'opération ne déclenche pas le déclencheur.

10 articles originaux publiés · Likes0 · Visites 959

Je suppose que tu aimes

Origine blog.csdn.net/weixin_43572702/article/details/104747192
conseillé
Classement