检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
重置GaussDB实例管理员密码 操作场景 在使用GaussDB过程中,如果忘记数据库root账号密码,可以重新设置密码。 注意事项 如果您提供的密码被系统视为弱密码,您将收到错误提示,请提供更高强度的密码。 如果数据库实例处于“异常”状态,则无法重置管理员密码。 重置密码生效时间取决于该实例当前执行的业务数据量。
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性M-Compatibility模式
为一个double处理,并使用科学计数法计数。和MySQL的非JSON类型入参相同。但是在JSON类型入参时,由于JSON类型未完全与MySQL兼容,此场景下会产生差异。MySQL会完整显示数字(并且当数字长度超过82时,MySQL会给出错误的结果),GaussDB依然将超长数字
63”。由转义字符引起的本函数与MySQL的差异,此为GaussDB与MySQL的转义字符差异。 str字符串中的“\b”,输出结果表现形式与MySQL有差异。此为GaussDB与MySQL的固有差异 str字符串中含有“\0”时,GaussDB由于UTF-8字符集不识别该字符,
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 utf8 支持 gbk 支持 gb18030 支持 binary 支持 utf8和utf8mb4在GaussDB中为
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
聚合函数列表 MySQL数据库 GaussDB数据库 差异 AVG() 支持,存在差异 GaussDB中指定DISTINCT且SQL语句包含GROUP BY子句时,不对结果进行排序,MySQL会进行排序。 GaussDB中当expr中的列为BIT、BOOL、整数类型,且所有行的和超过BI
GaussDB填充符和MySQL不同;因此导致入参为BINARY类型时,函数结果和MySQL不一致。 RANDOM_BYTES() 支持,存在差异 GaussDB与MySQL都使用OPENSSL生成随机字符串。GaussDB使用OPENSSL3.x.x生成随机字符串,与使用OPENSSL1
一致,则可进行分区和普通表数据的交换;GaussDB需要保证普通表和分区表的被删除列严格对齐才能进行分区和普通表数据的交换。 MySQL和GaussDB的哈希算法不同,所以两者在相同的hash分区存储的数据可能不一致,导致最后交换的数据也可能不一致。 MySQL的分区表不支持外键
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 DATABASE() 支持 - UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
JDBC接口参考 GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用
GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 GaussDB的执行计划和优化、EXPLAIN显示结果与MySQL不同。 由于GaussDB数据库与MySQL数据库在底层框架实现上存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。
GaussDB数据库在数据类型、SQL功能和数据库对象等基本功能上与MySQL数据库兼容。 GaussDB的执行计划和优化、EXPLAIN显示结果与MySQL不同。 由于GaussDB数据库与MySQL数据库在底层框架实现上存在差异,GaussDB数据库与MySQL数据库仍存在部分差异。
当该函数入参含有NULL且在WHERE关键字之后调用,返回结果与MySQL 5.7不一致,此处为MySQL 5.7存在的问题,MySQL 8.0修复了该问题,目前GaussDB和MySQL 8.0保持一致。 LEAST() 支持,存在差异 当MySQL返回值类型为二进制字符串类型(BINARY、V
自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局(global)的
{'charset_name' [COLLATE 'collation_name'] | DEFAULT}; GaussDB中暂不支持指定charset_name与数据库字符集不同。具体请参考《M-Compatibility开发指南》中“SQL参考 > SQL语法 > SQL语句 > S > SET ”章节。
1和::1解析为localhost。 DEFAULT() 支持,存在差异 GaussDB支持使用列别名,MySQL不支持。 BENCHMARK() 支持,存在差异 因为MySQL和GaussDB执行层框架存在差异,所以MySQL和GaussDB使该函数评估同一个表达式的执行时间不具有可比性。该函数仅用于评估
如下表所示: 表1 日期与和时间函数列表 MySQL数据库 GaussDB数据库 差异 ADDDATE() 支持 - ADDTIME() 支持 - CONVERT_TZ() 支持 - CURDATE() 支持 - CURRENT_DATE()/CURRENT_DATE 支持 -
数的差异如下表所示: 表1 日期与和时间函数列表 MySQL数据库 GaussDB数据库 差异 ADDDATE() 支持 - ADDTIME() 支持 - CONVERT_TZ() 支持 - CURDATE() 支持 - CURRENT_DATE()/CURRENT_DATE 支持