检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字 约束
系统函数 系统函数兼容性概述 流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 信息函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性B模式
创建分区表 创建普通分区表(创建一级分区表) 由于SQL语言功能强大和灵活多样性,SQL语法树通常比复杂,分区表同样如此,分区表的创建可以理解成在原有非分区表的基础上新增表分区属性,因此分区表的语法接口可以看成是对原有非分区表CREATE TABLE语句进行扩展PARTITION
SQL DDL DML DCL 父主题: MySQL兼容性B模式
GaussDB和MySQL在正则表达式中支持的元字符有所不同。例如,GaussDB支持“\d”表示数字,“\w”表示字母、数字和下划线,“\s”表示空格,而MySQL不支持这些元字符,MySQL会把这些字符当成正常字符串。 GaussDB中“\b”可以与“\\b”匹配,MySQL会匹配失败。
m_format_dev_version = 's2'。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci 支持 utf8mb4_unicode_ci 支持 utf8mb4_bin 支持 gbk_chinese_ci 支持 gbk_bin
GaussDB和MySQL在正则表达式中支持的元字符有所不同。例如,GaussDB支持“\d”表示数字,“\w”表示字母、数字和下划线,“\s”表示空格,而MySQL不支持这些元字符,MySQL会把这些字符当成正常字符串。 GaussDB中“\b”可以与“\\b”匹配,MySQL会匹配失败。
况下会与MySQL有一定差异。要实现与MySQL的兼容,需要设置GUC参数standard_conforming_strings取值为off,在这种情况下,转义字符的处理将与MySQL兼容,但是使用转义字符\f、\Z、\0和\uxxxx的场景会与MySQL存在差异。 表1 JSON函数列表
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式
SQL兼容性概述 GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但在M-Compatibility不可以或存在限制,如表1所示。 表1 受限标识符列表 关键字类型 关键字 约束
致。 MySQL的分区表不支持外键,普通表包含外键或其他表引用普通表的外键,则无法进行分区和普通表数据的交换;GaussDB的分区表支持外键,在两个表的外键约束一致时,则可进行分区和普通表数据的交换,GaussDB的分区表不带外键,普通表有其他表引用,如果分区表和普通表表一致,则可进行分区和普通表数据的交换。
when/decode,MySQL不补齐0,GaussDB在类型及宽度信息一致时补齐0。 作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 GaussDB数据库和MySQL数据库整数类型具体差异请参见表1。 表1 整数类型 MySQL数据库 GaussDB数据库
ty获取read锁后,当前会话可以进行写操作。 MySQL给表上锁后,读取其他表报错,M-Compatibility无限制。 MySQL同一会话中获取同一个表的锁,会自动释放上一个锁,并提交事务,M-Compatibility无该机制。 M-Compatibility中LOCK
成空格,与MySQL行为存在差异。如果兼容性参数m_format_behavior_compat_options中包含disable_zero_chars_conversion选项,则禁止将“\0”字符转换成空格,与MySQL行为一致。 ODBC 父主题: MySQL兼容性M-Compatibility模式
指定,GaussDB数据库中,字符集必须与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
创建和管理表 创建表 向表中插入数据 更新表中数据 查看数据 删除表中数据 父主题: 操作数据库
GaussDB的参考表和被参考表可以都是临时表,不可以在临时表和非临时表之间创建外键。MySQL无法使用临时表作为参考表或被参考表。MySQL在创建外键指定被参考表时,不会匹配当前会话已创建的临时表。 GaussDB创建外键时可以不指定被参考表的被参考字段名,此时会将被参考表中的主键作为
TABLE语法 SHOW 用户权限验证与MySQL存在差异。 GaussDB中需要拥有指定表所在Schema的USAGE权限和指定表的任意表级权限。 MySQL中需要拥有指定表的任意表级权限(除GRANT OPTION)。 返回的建表语句与MySQL存在差异。 GaussDB中索引以CREATE
用户权限验证与MySQL存在差异。 GaussDB中需要拥有指定表所在Schema的USAGE权限,同时还需要拥有指定表的任意表级权限或列级权限,仅显示拥有SELECT、INSERT、UPDATE、REFERENCES和COMMENT权限的列信息。 MySQL中需要拥有指定表的任意表级