检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据类型支持的属性 表1 数据类型支持的属性 MySQL数据库 GaussDB数据库 NULL 支持 NOT NULL 支持 DEFAULT 支持 ON UPDATE 支持 PRIMARY KEY 支持 CHARACTER SET name 支持 COLLATE name 支持 父主题:
与数据库的字符集一致,且不支持表内多种字符集混合使用。 utf8mb4字符集下默认字符序为utf8mb4_general_ci,与MySQL 5.7保持一致。 GaussDB中utf8和utf8mb4为同一个字符集。 表1 排序规则列表 MySQL数据库 GaussDB数据库 utf8mb4_general_ci
模式字符串pat非法入参,只存在右单括号“)”时,GaussDB会报错,MySQL 5.7会报错,MySQL 8.0不会报错。 在de|abc匹配序列de或abc的匹配规则,当|左右存在空值时,GaussDB不会报错,MySQL 5.7会报错,MySQL 8.0不会报错。 制表符“\t”正则匹配字符类[:blank:],GaussDB可匹配,MySQL
报错。MySQL中该类型不能超过255字节,超过长度限制后,在严格模式下会报错,在宽松模式下会对数据进行截断并告警。 输入格式:不支持转义字符输入,不支持""双引号输入。 输出格式:对于'\0'字符,查询结果表现为“\000”,使用JDBC驱动的getBytes接口获取表现为'\0'字符。
流量控制函数 日期和时间函数 字符串函数 强制转换函数 加密函数 信息函数 JSON函数 聚合函数 数字操作函数 其他函数 父主题: MySQL兼容性B模式
为保留关键字,在MySQL中为非保留关键字,其差异为:在M-Compatibility模式下不可作为表名、列名、列别名、AS列别名、AS表别名、表别名、函数名和变量名,在MySQL中支持。 当关键字在M-Compatibility模式下为非保留关键字,在MySQL中为保留关键字,
事务 GaussDB数据库兼容MySQL的事务,但存在部分差异。本章节介绍GaussDB的M-Compatibility数据库中事务相关的差异。 事务默认隔离级别 M-Compatibility默认隔离级别为READ COMMITTED,MySQL默认隔离级别为REPEATABLE-READ。
GaussDB数据库支持指定数据库、模式、表或列的字符集,支持的范围如下。 表1 字符集列表 MySQL数据库 GaussDB数据库 utf8mb4 支持 gbk 支持 gb18030 支持 utf8 支持 binary 支持 父主题: MySQL兼容性B模式
GaussDB和MySQL在正则表达式中支持的元字符有所不同。例如,GaussDB支持“\d”表示数字,“\w”表示字母、数字和下划线,“\s”表示空格,而MySQL不支持这些元字符,MySQL会把这些字符当成正常字符串。 GaussDB中“\b”可以与“\\b”匹配,MySQL会匹配失败。
GaussDB和MySQL在正则表达式中支持的元字符有所不同。例如,GaussDB支持“\d”表示数字,“\w”表示字母、数字和下划线,“\s”表示空格,而MySQL不支持这些元字符,MySQL会把这些字符当成正常字符串。 GaussDB中“\b”可以与“\\b”匹配,MySQL会匹配失败。
有引号标识符中,GaussDB对于创建了列名为纯数字或科学计算法的表,不支持直接使用,需要在引号中使用;对于点操作符(.)场景,列名为纯数字或科学计算法的表也需要在引号中使用。例如: -- 创建列名为纯数字或科学计算法的表 m_db=# CREATE TABLE t1(`123` int
有引号标识符中,GaussDB对于创建了列名为纯数字或科学计算法的表,不支持直接使用,需要在引号中使用;对于点操作符(.)场景,列名为纯数字或科学计算法的表也需要在引号中使用。例如: -- 创建列名为纯数字或科学计算法的表 m_db=# CREATE TABLE t1(`123` int
SQL SQL兼容性概述 关键字 标识符 DDL DML DCL 其他语句 用户与权限 系统表和系统视图 父主题: MySQL兼容性M-Compatibility模式
系统表和系统视图 表1 M-Compatibility与GaussDB的系统表或系统视图的差异 系统表或系统视图 差异列 M-Compatibility与MySQL的差异 information_schema.columns generation_expression 该字段输出
TABLE语法 SHOW 用户权限验证与MySQL存在差异。 GaussDB中需要拥有指定表所在Schema的USAGE权限和指定表的任意表级权限。 MySQL中需要拥有指定表的任意表级权限(除GRANT OPTION)。 返回的建表语句与MySQL存在差异。 GaussDB中索引以CREATE
TABLE语法 SHOW 用户权限验证与MySQL存在差异。 GaussDB中需要拥有指定表所在Schema的USAGE权限和指定表的任意表级权限。 MySQL中需要拥有指定表的任意表级权限(除GRANT OPTION)。 返回的建表语句与MySQL存在差异。 GaussDB中索引以CREATE
或其他表引用普通表的外键,则无法进行分区和普通表数据的交换;GaussDB的分区表支持外键,在两个表的外键约束一致时,则可进行分区和普通表数据的交换,GaussDB的分区表不带外键,普通表有其他表引用,如果分区表和普通表表一致,则可进行分区和普通表数据的交换。 修改分区表的分区键信息
MySQL兼容性M-Compatibility模式 数据类型 系统函数 操作符 字符集 排序规则 事务 SQL 驱动
其他函数 表1 其他函数列表 MySQL数据库 GaussDB数据库 差异 UUID() 支持 - UUID_SHORT() 支持 - 父主题: 系统函数
数据类型 数值数据类型 日期与时间数据类型 字符串数据类型 二进制数据类型 JSON数据类型 数据类型支持的属性 数据类型转换 父主题: MySQL兼容性B模式