暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

MySQL5.7升级到8.0(一):SQL语法变化

数据库工作笔记 2022-03-15
4642



MySQL从5.7升级到8.0后,有些SQL语法发生了变更



【不常用】 废弃了 GROUP BY 分组的排序 ASC 和 DESC, 存储过程中包含此语法的无法正常执行;

【不常用】 最新版可能不支持 &&, ||, ! 的语法, 需要使用标准 SQL 的 AND, OR, NOT 进行替换;

【不常用】 外键的名字在整个 schema 中必须唯一;

【常用】  支持公共表表达式cte, 窗口函数,不再支持5.6,5.7 的土方法实现递归这种写法

【不常用】 支持备份锁(backup lock)

【常用】使用 select xxx into outfile xx from xxx 语法导出数据, select xx from xxx into outfile .. 这种写法尽快改了后续新版本要废弃;

【DBA常用】 使用 set password for ... = '' 修改用户密码, password(..) 语法已经废弃;

【不常用】 不支持 SELECT SQL_NO_CACHE ... 语法;

【DBA常用】 sqllogbin 仅支持会话级别的设置;

【常用】 使用 EXPLAIN 时, 不支持 EXTENDED 和 PARTITIONS 关键字一起使用;

【DBA常用】 索引增加 invisible index(隐藏索引), 一个索引被设置为 invisible 后, 优化器会忽略该索引. 适合性能调试;

【索引常用】 索引支持 descending index(降序索引);

【索引常用】索引支持 functional index(函数索引)

【索引常用】索引索引命中优化, 更多见 optimizer hints;

【常用】建表语句没有整形宽度   id int(11) NOT NULL 变成id int NOT NULL 

【不常用】MySQL8.0新增131个关键字,减少 6个关键字



明细点 >> 阅读原文

文章转载自数据库工作笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论