检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 utf8 支持 gbk 支持 gb18030 支持 binary 支持 utf8和utf8mb4在GaussDB中为
db_mysql=# SET @`\`` = 1; db_mysql`# 形如set @var_name1 = @var_name2 := @var_name3 = @var_name4 := expr; 连续赋值,MySQL支持,GaussDB不支持。 db_mysql=# set
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数据库仍存在部分差异。
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局
procs_priv 在MySQL下需要授权后才能查看视图内容,M-Compatibility数据库可以根据默认权限查看到对应的内容。如对于表t1,在MySQL下需要先对t1给对应的用户授权,才能在权限视图中看到对应的权限信息,M-Compatibility数据库下则可以直接在视图中看到t1表相关的权限信息。
比较函数 表1 比较函数列表 MySQL数据库 GaussDB数据库 差异 COALESCE() 支持,存在差异 union distinct场景下,返回值精度与MySQL不完全一致。 当第一个不为NULL的参数的后续参数表达式中存在隐式类型转换错误时,MySQL会忽略该错误,Gauss
、仅支持赋值时转换。不支持的场景下即使定义了转换路径,也不能进行数据类型转换。 MySQL数据库支持任意两种数据类型之间做转换。 由于存在以上差异,基于MySQL数据库的应用程序向GaussDB数据库迁移时,SQL语句可能由于不支持不同数据类型之间的转换而报错。或者支持转换的场景
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
数组 数组类型的使用 数组支持的函数 父主题: 数组、集合和record
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性M-Compatibility模式
(1, '数据库', 1.11, 2.12, 3.133), (2, '数据库', 2.11, 2.22, 3.233), (3, '数据库', 3.11, 2.32, 3.333), (4, '数据库', 1.41, 2.42, 3.343), (5, '数据库', 1.51
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
指向返回参数数据类型的指针。 MySQL ODBC对于任意类型均返回SQL_VARCHAR。 GaussDB ODBC的会根据内核返回的不同类型判断返回给应用相应的DataType类型。 ParameterSizePtr 指向返回参数大小的指针。 MySQL ODBC若允许ODBC驱
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 DATABASE() 支持 - UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
M-Compatibility中嵌套事务不会自动提交,MySQL会自动提交。 事务相关语法 自动提交 M-Compatibility使用GaussDB存储,继承GaussDB事务机制,事务中执行DDL,DCL不会自动提交。MySQL在DDL、DCL、管理类语句,锁相关语句会自动提交。
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
数组 数组类型的使用 在使用数组之前,需要自定义一个数组类型。 在存储过程中紧跟AS关键字后面定义数组类型。定义方法为: TYPE array_type IS VARRAY(size) OF data_type; 其中: array_type:要定义的数组类型名。 VARRAY:表示要定义的数组类型。