You need to enable JavaScript to run this app.
导航
概述
最近更新时间:2024.11.06 13:58:48首次发布时间:2023.11.16 10:58:27

MySQL语法兼容
本文介绍了 ByteHouse MySQL 与原生 MySQL 数据库的兼容性比较。
从 2.0.0.0 版本开始,ByteHouse 兼容 MySQL 5.7 和 MySQL 8.0 的常见功能和语法。这允许与 MySQL 客户端应用程序和工具无缝集成。用户可以使用熟悉的 MySQL 协议与 ByteHouse 交互,并利用 MySQL 生态系统的功能。
由于产品架构的差异或客户需求的限制,一些功能尚不支持。本节主要讨论 ByteHouse MySQL 与原生 MySQL 数据库在以下方面的差异:

  • 数据类型
  • 函数
    • 某些函数的使用不受支持
    • 某些函数的结果与 MySQL 不一致
  • 对 MySQL DQL 的支持
  • 对 MySQL DML 的支持(目前仅支持对唯一表的更新和删除)

设置 MySQL 模式

通过dialect_type选项,可以使ByteHouse 在 MySQL 模式 和 ClickHouse 模式之间切换,例如:

SET dialect_type = 'CLICKHOUSE';
SET dialect_type = 'MySQL';

ByteHouse 默认使用的是 ClickHouse 模式。
说明
推荐使用上述的 SET 命令设置 dialect_type,不建推荐通过查询级别的 SETTINGS 来设置,如:

SELECT ... SETTINGS dialect_type = 'MySQL';

在实现方面,许多 ANSI 功能由单独的子选项控制,dialect_type 可以视为这些子选项的总和。 如果需要,可以使用子选项来控制 MySQL 模式下的特定行为,例如:

SET dialect_type = 'MySQL';

函数

MySQL大多数行为表现与ANSI相同,不再重复列举。针对函数部分引入隐式转换,与MySQL行为对齐。具体规则如下

A