美文网首页
sql自学笔记(二十二)——MySQL8.0版本的新特性(十二)

sql自学笔记(二十二)——MySQL8.0版本的新特性(十二)

作者: itczt | 来源:发表于2019-05-10 10:48 被阅读0次

    原子DDL操作

    • MySQL8.0开始显示支持原子DDL操作,其中与表相关的原子DDL只支持InnDB存储引擎。
    • 一个原子DDL操作内容包括:更新数据字典,存储引擎层的操作,在binlog中记录DDL操作。
    • 支持与表相关的DDL:数据库、表空间、表、索引的CREATE,ALTSE,DROP以及TRUNCATE TABLE。
    • 支持与表相关的DDL:存储程序,触发器,视图,UDF的CREATE,DROP以及ALTER语句。
    • 支持其他DDL:存储程序,触发器,视图,UDF的CREATE,DROP以及ALTER语句。
    • 支持账户管理相关的DDL:用户和角色的CREATE,ALTER,DROP以及适用的RENAME,以及GRANT和REVOKE语句。
      我们来看一下5.7和8.0版本中这些的差异
      在5.7中
      先创建一张t1表,并查看一下
    create table t1 (c1 int);
    show tables;
    

    再来删除这个表

    drop table t1,t2;
    
    show tables;
    

    我们可以看到在5.7当中虽然有一部分是错误的,但是有一部分是操作成功的。
    在8.0中
    create table t1(c1 int);
    show tables;
    
    drop tables;
    

    我们可以看到它不会只成功一部分,它会是一个整体要么都成功,要么都失败。
    我们还可以

    drop table if exists t1,t2;
    

    运行之前会有一个判断,即使没有t2表,它只会出现一个警告而不会出现错误。

    show tables;
    

    有图可知,我们可以看到t1表被删除。

    相关文章

      网友评论

          本文标题:sql自学笔记(二十二)——MySQL8.0版本的新特性(十二)

          本文链接:https://www.haomeiwen.com/subject/wmlooqtx.html