当前位置:网站首页>Commit and ROLLBACK in DCL of 16mysql

Commit and ROLLBACK in DCL of 16mysql

2022-04-23 20:17:00 GH - Xiaohe

Auteur: gh-xiaohe
gh-xiaoheBlog de
Je pense que l'article du blogueur est bien écrit,J'espère que tout le monde sera trois(Attention,- Oui.,Commentaires),Plus de soutien!!

DCL Moyenne COMMITEtROllBACK

DCL Moyenne COMMITEtROllBACK

COMMIT

     COMMIT:Présentation des données.Une fois mis en œuvreCOMMIT,Les données sont stockées en permanence dans la base de données,Cela signifie que les données ne peuvent pas être retournées en arrière.

ROLLBACK

     ROLLBACK:Données de rollback.Une fois mis en œuvreROLLBACK,Le retour en arrière des données peut être réalisé.Retour au dernierCOMMITAprès.

Comparer

  • Même chose.:Vous pouvez supprimer toutes les données du tableau,Conserver la structure du tableau.
  • C'est différent.:
    • TRUNCATE TABLE:Une fois cette opération effectuée,Effacer toutes les données du tableau.En même temps,Les données ne peuvent pas être retournées.
    • DELETE FROM:Une fois cette opération effectuée,Les données du tableau peuvent être effacées complètement(SansWHERE).En même temps,Les données peuvent être retournées.

DDL Et DML Notes

    ① DDLFonctionnementUne fois mis en œuvre,JustePas de retour en arrière.DirectivesSET autocommit = FALSEC'est exact.DDLDéfaillance opérationnelle.(Parce qu'après l'exécutionDDLAprès l'opération,C'est sûr.Sera exécuté une foisCOMMIT.Et ceciCOMMITFonctionnement non soumis àSET autocommit = FALSEImpact.)

    ② DMLOpération par défaut pour,Une fois mis en œuvre,C'est aussiNon - ROLLBACK.Mais,SiEn coursDMLAvant,Mise en œuvre SET autocommit = FALSE,Pour exécuterDMLL'opération permet un retour en arrière.

CAS

COMMIT、DELETE

# Présentation:DELETE FROM 
#1)
COMMIT;
#2)
SELECT *
FROM myemp3;
#3)
SET autocommit = FALSE;
#4)
DELETE FROM myemp3;
#5)
SELECT *
FROM myemp3;
#6)
ROLLBACK;
#7)
SELECT *
FROM myemp3;

Insérer la description de l'image ici

COMMIT、 ROLLBACK

# Présentation:TRUNCATE TABLE
#1)
COMMIT;
#2)
SELECT *
FROM myemp3;
#3)
SET autocommit = FALSE;
#4)
TRUNCATE TABLE myemp3;
#5)
SELECT *
FROM myemp3;
#6)
ROLLBACK;
#7)
SELECT *
FROM myemp3;

Insérer la description de l'image ici

MySQL8.0Nouvelles caractéristiques de:DDLAtomisation de

     InMySQL 8.0Dans la version,InnoDBLe tableauDDLSoutenir l'intégrité des transactions,C'est - à - dire:DDLL'opération est réussie ou inversée.DDLAction ROLLBACK log write todata dictionaryTable du dictionnaire de donnéesmysql.innodb_ddl_log(Cette table est cachée,Adoptionshow tablesImpossible de voir)Moyenne,Pour l'opération ROLLBACK.En définissant les paramètres,Peut êtreDDLImprimer le Journal des opérations àMySQLDans le Journal des erreurs.

Séparément dansMySQL 5.7Version etMySQL 8.0Créer des bases de données et des tableaux de données dans la version,Les résultats sont les suivants::

CREATE DATABASE mytest; # Créer une base de données mytest

USE mytest; # Passer à mytest Sous la base de données

CREATE TABLE book1( # Création book1 Tableau
book_id INT ,
book_name VARCHAR(255)
);

SHOW TABLES; #  Voir le tableau sous les données actuelles 

Insérer la description de l'image ici

(1)InMySQL 5.7Dans la version,La procédure d'essai est la suivante::

# In mysql5.7 En bas.
DROP TABLE book1,book2;  #  Supprimer la base de données maintenant  book1 Et book2 Notez qu'il n'y a pas de book2

SHOW TABLES;

Insérer la description de l'image ici

(2)InMySQL 8.0Dans la version,La procédure d'essai est la suivante::

# In mysql8.0 En bas.
DROP TABLE book1,book2;  #  Supprimer la base de données maintenant  book1 Et book2 Notez qu'il n'y a pas de book2

SHOW TABLES;

Insérer la description de l'image ici

版权声明
本文为[GH - Xiaohe]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204232017307463.html

随机推荐