美文网首页
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