检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DML MySQL数据库功能概述 详细语法说明 GaussDB数据库实现差异 DELETE支持从多个表中删除数据 DELETE - DELETE支持ORDER BY和LIMIT DELETE - DELETE支持从指定分区(或子分区)删除数据 DELETE - UPDATE支持从多个表中更新数据
GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 MySQL数据库 GaussDB数据库 用户自定义变量@var_name 部分支持 全局变量@@var_name 部分支持 父主题: MySQL兼容性B模式
sDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。 表1 排序规则列表 MySQL数据库
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,如表1所示。 表1 限制做标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。 除特别说明外,MySQL兼容性B模式中的函数行为默认为GaussDB原生行为。 GaussDB MySQL兼容性的绝大部分系统函数目前均存在返回值与MySQL精度不一致(结果后面0的位数)的问题,这
数据类型 GaussDB数据库的数据类型大部分功能场景与MySQL一致,但存在部分差异。 除特别说明外,MySQL兼容性B模式中的数据类型精度、标度、位数大小等默认不支持用浮点型数值定义,建议使用合法的整型数值定义。 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型
MySQL兼容性M-Compatibility模式 MySQL兼容性M-Compatibility模式概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动 计划外应用无损透明 父主题: 集中式版
MySQL兼容性B模式 MySQL兼容性B模式概述 数据类型 系统函数 操作符 字符集 排序规则 表达式 SQL 驱动 父主题: 集中式版
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,如表1所示。 表1 限制做标识符列表 关键字类型 关键字 约束 保留(可以是类型或函数)
MySQL兼容性M-Compatibility模式 MySQL兼容性M-Compatibility模式概述 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动 父主题: 分布式版
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式
驱动 ODBC 父主题: MySQL兼容性M-Compatibility模式
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 MySQL数据库 GaussDB数据库 差异 <> 支持,存在差异 MySQL支持索引,GaussDB不支持索引。 <=> 支持,存在差异 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
GaussDB无引号标识符中不支持以美元符号($)开头,MySQL无引号标识符中支持。 GaussDB无引号标识符中的支持大小写敏感的数据库对象。 GaussDB标识符支持U+0080~U+00FF扩展字符,MySQL标识符支持U+0080~U+FFFF的扩展字符。 无引号标识
GaussDB无引号标识符中不支持以美元符号($)开头,MySQL无引号标识符中支持。 GaussDB无引号标识符中的支持大小写敏感的数据库对象。 GaussDB标识符支持U+0080~U+00FF扩展字符,MySQL标识符支持U+0080~U+FFFF的扩展字符。 无引号标识
DB数据库中不支持。 GaussDB数据库中生成列的CHECK约束兼容MySQL 8.0数据库的行为,即CHECK约束检查生效。 MySQL数据库中存储生成列作为分区键时,支持ALTER TABLE修改存储生成列,GaussDB数据库中不支持。 MySQL数据库中向可被更新的视图
TABLE CREATE TABLE带CHECK约束的时候,MySQL 8.0会生效,MySQL 5.7只解析语法但不生效。GaussDB在此功能上同步MySQL 8.0版本,且GaussDB CHECK约束可以引用其他列,而MySQL不能。 GaussDB 一个表中最多只能加32767个CHECK约束。