检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
驱动 JDBC 父主题: MySQL数据库兼容性B模式
比较操作符返回结果显示不同。MySQL返回1/0;GaussDB返回t/f。 表1 操作符 序号 MySQL数据库 GaussDB数据库 差异 1 <> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引。 2 <=> 支持,但有差异。 MySQL支持索引,GaussDB不支持索引、hash连接和合并连接。
GaussDB无引号标识符中不支持以美元符号($)开头,MySQL无引号标识符中支持。 GaussDB无引号标识符中的支持大小写敏感的数据库对象。 GaussDB标识符支持U+0080~U+00FF扩展字符,MySQL标识符支持U+0080~U+FFFF的扩展字符。 无引号标识
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 2 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全
表达式 GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 序号 MySQL数据库 GaussDB数据库 1 用户自定义变量@var_name 部分支持 2 全局变量@@var_name 部分支持 父主题:
表达式,相当于不排序。 无论参数的数据类型如何,group_concat返回值的数据类型始终为text;MySQL的group_concat在含有二进制类型参数时,返回值为二进制类型,其他情况返回值为字符串类型,并且返回值长度大于512时,其数据类型为字符串大对象或二进制大对象。
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,以下为限制做标识符列表 表1 限制做标识符列表 关键字类型 关键字
M-Compatibility事务中报错,需要执行rollback,MySQL无限制。 5 事务相关语法 锁机制 M-Compatibility锁机制只能在事务块中使用,MySQL无限制。 6 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibi
示例:从MYSQL进行数据迁移 下面示例演示如何通过CopyManager从mysql进行数据迁移的过程。执行示例前,需要加载驱动,驱动的获取和加载方法请参考JDBC包、驱动类和环境类。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
字符集 GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4 支持 2 utf8 支持 3 gbk 支持 4 gb18030 支持 5 binary 支持 utf8和utf8
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
示例:从MYSQL进行数据迁移 下面示例演示如何通过CopyManager从mysql进行数据迁移的过程。执行示例前,需要加载驱动,驱动的获取和加载方法请参考JDBC包、驱动类和环境类。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
数字操作函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 log2() 支持 小数位显示与MySQL存在差异,受GaussDB浮点数据类型限制,可通过参数extra_float_digits控制小数位个数显示; 由于输入精度内部处理差异,GaussDB与MySQL会存在结果计算差异;
获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用的方法如表1所示,其他方法请参考JDK官方文档。 表1 ResultSet对象的常用方法 方法 描述 差异 int getInt(int columnIndex) 按列标获取int型数据。 - int
系统函数 GaussDB数据库兼容绝大多数MySQL的系统函数,但存在部分差异。只能使用M-Compatibility兼容模式下的系统函数,不能使用原GaussDB的系统函数,避免产生非预期的结果。当前存在原GaussDB的系统函数和MySQL系统函数同名,但是M-Compati
表1 日期与和时间函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ADDDATE() 支持 此函数的表现会因为interval表达式的差异与MySQL有差异,具体可见INTERVAL差异说明。 2 ADDTIME() 支持 MySQL对第二入参为DATETIME样式
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL5.7保持一致。 表1 排序规则列表 序号 MySQL数据库 GaussDB数据库 1 utf8mb4_general_ci
其他函数 表1 其他函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 UUID() 支持 - 2 UUID_SHORT() 支持 - 父主题: 系统函数
信息函数 表1 信息函数列表 序号 MySQ数据库 GaussDB数据库 差异 1 LAST_INSERT_ID() 支持 - 父主题: 系统函数