检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
JDBC JDBC接口参考 父主题: 驱动
在MySQL中Database和Schema是同义词;而在GaussDB中,一个Database 下可以有多个Schema。在该特性中,每个MySQL中的Database都被映射到GaussDB的一个Schema。 在MySQL中,INDEX从属于一个TABLE,但在GaussDB
JDBC接口参考 GaussDB与MySQL的JDBC接口定义一致,均遵循业界规范,本章节主要介绍GaussDB数据库的MySQL兼容性B模式与MySQL数据库JDBC接口的行为差异。 获取结果集中的数据 ResultSet对象提供了丰富的方法,以获取结果集中的数据。获取数据常用
MySQL和GaussDB中Database和Schema之间的差异 在MySQL中Database和Schema是同义词;而在GaussDB中,一个Database 下可以有多个Schema。在该特性中,每个MySQL中的Database都被映射到GaussDB的一个Schema。 在MySQL中,IND
的精度存在差异。在MySQL 5.7中,返回的精度与UNION左右两侧的顺序有关;在MySQL 8.0中修复了这个问题,返回的精度与UNION左右两侧的顺序无关;在GaussDB中,返回的精度与UNION左右两侧的顺序无关,与MySQL 8.0一致,与MySQL 5.7不一致。 --
SELECT、USAGE、UPDATE、ALTER、DROP、COMMENT MySQL中通过'dbname.*'表示模式层级的授权对象;在M-Compatibility中,使用'{DATABASE | SCHEMA} dbname'表示模式层级的授权对象。 MySQL中用户名为两部分:用户名@主机名;M-Compatibility当前仅支持用户名。
系统表或系统视图 差异列 M-Compatibility与MySQL的差异 information_schema.columns generation_expression 该字段输出结果因涉及M-Compatibility与MySQL的表达式的字符串拼接逻辑的不同而存在差异。 information_schema
SET 自定义变量长度的差异。例如: MySQL自定义变量名长度没有约束。 GaussDB自定义变量名长度不超过64字节,超过部分的变量名会截断并提示告警。 SET TRANSACTION语法兼容 SET TRANSACTION MySQL可以设置当前会话(session)和全局
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
加密函数 表1 加密函数列表 MySQL数据库 GaussDB数据库 差异 AES_DECRYPT() 支持 - AES_ENCRYPT() 支持 - 父主题: 系统函数
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字
COALESCE GaussDB和MySQL数据库对于数据类型转换、转换的目标数据类型有着完全不同的规则。如下示例体现了两者处理的差异: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 -- MySQL: in 执行结果为0,表示fals
型时行为存在差异: MySQL 5.7中,AVG(TEXT/BLOB)返回值类型为MEDIUMTEXT类型;MySQL 8.0中,AVG(TEXT/BLOB)返回值类型为DOUBLE类型。 在GaussDB中,AVG(TEXT/BLOB)返回值类型与MySQL 8.0版本保持一致。
事务块中使用,MySQL无限制。 锁机制 锁机制 MySQL获取read锁后,当前会话无法进行写操作,M-Compatibility获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同
TABLE CREATE TABLE带CHECK约束的时候,MySQL 8.0会生效,MySQL 5.7只解析语法但不生效。GaussDB在此功能上同步MySQL 8.0版本,且GaussDB CHECK约束可以引用其他列,而MySQL不能。 GaussDB 一个表中最多只能加32767个CHECK约束。
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 DATABASE() 支持 - UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
SELECT、USAGE、UPDATE、ALTER、DROP、COMMENT MySQL中通过'dbname.*'表示模式层级的授权对象;在M-Compatibility中,使用'{DATABASE | SCHEMA} dbname'表示模式层级的授权对象。 MySQL中用户名为两部分:用户名@主机名;M-Compatibility当前仅支持用户名。
DCL 表1 DCL语法兼容介绍 概述 详细语法说明 差异 SET NAMES指定COLLATE子句 SET [ SESSION | LOCAL ] NAMES {'charset_name' [COLLATE 'collation_name'] | DEFAULT}; Gaus
TO操作符和POSIX-风格的正则表达式。除了这些基本的操作符外,还有一些函数可用于提取或替换匹配子串并在匹配位置分离一个串。 LIKE 描述:判断字符串是否能匹配上LIKE后的模式字符串。如果字符串与提供的模式匹配,则LIKE表达式返回为真(NOT LIKE表达式返回假),否则返回为假(NOT LIKE表达式返回真)。