提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


文章目录

  • MySQL8新特性概述
  • 1.1 MySQL8.0 新增特性
  • 1.2 MySQL8.0移除的旧特性
  • 公用表表达式
  • CTE可以理解成一个可以复用的子查询
  • 1. 普通公用表表达式
  • 2. 递归公用表表达式



MySQL8新特性概述

MySQL从5.7版本直接跳跃发布了8.0版本,可见这是一个令人兴奋的里程碑版本。MySQL 8版本在功能上做了显著的改进与增强,开发者对MySQL的源代码进行了重构,最突出的一点是多MySQL Optimizer优化器进行了改进。不仅在速度上得到了改善,还为用户带来了更好的性能和更棒的体验。

1.1 MySQL8.0 新增特性

mysql 8 新语法 mysql8.0语法变了吗_MySQL


mysql 8 新语法 mysql8.0语法变了吗_database_02


mysql 8 新语法 mysql8.0语法变了吗_MySQL_03


mysql 8 新语法 mysql8.0语法变了吗_mysql 8 新语法_04


mysql 8 新语法 mysql8.0语法变了吗_database_05


mysql 8 新语法 mysql8.0语法变了吗_mysql_06


mysql 8 新语法 mysql8.0语法变了吗_MySQL_07

1.2 MySQL8.0移除的旧特性

在MySQL 5.7版本上开发的应用程序如果使用了MySQL8.0 移除的特性,语句可能会失败,或者产生不同的执行结果。为了避免这些问题,对于使用了移除特性的应用,应当尽力修正避免使用这些特性,并尽可能使用替代方法。

mysql 8 新语法 mysql8.0语法变了吗_数据库_08


mysql 8 新语法 mysql8.0语法变了吗_database_09

公用表表达式

mysql 8 新语法 mysql8.0语法变了吗_database_10

CTE可以理解成一个可以复用的子查询

1. 普通公用表表达式

mysql 8 新语法 mysql8.0语法变了吗_database_11


举例:查询员工所在的部门的详细信息。

mysql 8 新语法 mysql8.0语法变了吗_database_12


mysql 8 新语法 mysql8.0语法变了吗_database_13


mysql 8 新语法 mysql8.0语法变了吗_mysql_14

2. 递归公用表表达式

mysql 8 新语法 mysql8.0语法变了吗_MySQL_15


mysql 8 新语法 mysql8.0语法变了吗_数据库_16


mysql 8 新语法 mysql8.0语法变了吗_database_17


mysql 8 新语法 mysql8.0语法变了吗_MySQL_18


mysql 8 新语法 mysql8.0语法变了吗_数据库_19