正在生成
详细信息:
检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDL 序号 MySQL数据库功能概述 详细语法说明 GaussDB数据库实现差异 1 建表和修改表时支持创建主键、UNIQUE索引、外键约束 ALTER TABLE、CREATE TABLE GaussDB当前不支持UNIQUE INDEX|KEY index_name语法,使用UNIQUE
表达式 GaussDB数据库兼容绝大多数MySQL的表达式,但存在部分差异。如未列出,表达式行为默认为GaussDB原生行为。 表1 表达式 序号 MySQL数据库 GaussDB数据库 1 用户自定义变量@var_name 部分支持 2 全局变量@@var_name 部分支持 父主题:
位串类型初始值的差异。例如: MySQLBIT类型的初始值为空串'',长度为(M/8向上取整),即: mysql> CREATE TABLE test(f1 BIT(3) NOT NULL); Query OK, 0 rows affected (0.01 sec) mysql> REPLACE
JDBC JDBC接口参考 父主题: 驱动
作为函数/存储过程出入参、返回值时,MySQL支持功能、GaussDB语法不报错功能不支持。 表2 任意精度类型 序号 MySQL数据库 GaussDB数据库 差异 1 DECIMAL[(M[,D])] 支持 操作符:GaussDB中“^”表示指数运算,如需使用异或运算符,使用“#”替换;MySQL中“^”表示异或。
字符串函数 表1 字符串函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 ASCII() 支持。 - 2 BIT_LENGTH() 支持。 - 3 CHAR_LENGTH() 支持,有差异。 GaussDB此函数如果数据库字符集是SQL_ASCII,CHAR_LENGTH()会返回字节数而非字符数。
数据类型支持的属性 数据类型转换 父主题: MySQL数据库兼容性B模式
认情况下会与MySQL有一定差异,需要设置GUC参数set standard_conforming_strings= off;的情况下,对于转义字符的场景才会与MySQL兼容,但是会产生非标准字符输入的warning告警,在转义字符中\t、\u与转义数字与MySQL有差异。JSO
、仅支持赋值时转换。不支持的场景下即使定义了转换路径,也不能进行数据类型转换。 MySQL数据库支持任意两种数据类型之间做转换。 由于存在以上差异,基于MySQL数据库的应用程序向GaussDB数据库迁移时,SQL语句可能由于不支持不同数据类型之间的转换而报错。或者支持转换的场景
围大于MySQL,但是越界仍然算无效日期。 大部分时间函数会告警并返回NULL,只有能通过cast正常转换的日期,才是正常合理的日期。 新框架下GaussDB的大部分日期时间函数与MySQL一致,一些函数的差异如下表所示: 表1 日期与和时间函数列表 序号 MySQL数据库 GaussDB数据库
结果与MySQL有差异但是字符编码与MySQL是一致的。 8 LOCATE() 支持 入参1为bytea类型,入参2为text类型时,GaussDB与MySQL行为存在差异。 9 MAKE_SET() 支持 bits参数为整型时,最大范围支持到int128,低于MySQL范围。
数据类型支持的属性 表1 数据类型支持的属性 序号 MySQ数据库 GaussDB数据库 1 NULL 支持 2 NOT NULL 支持 3 DEFAULT 支持 4 ON UPDATE 支持 4 PRIMARY KEY 支持 5 AUTO_INCREMENT 支持 6 CHARACTER
blob_storage; mysql> CREATE TABLE blob_storage ( A TEXT ); mysql> INSERT INTO blob_storage VALUES (0xBB00BB); mysql> SELECT hex(A) FROM
日期与时间数据类型 序号 MySQL数据库 GaussDB数据库 差异 1 DATE 支持,存在差异。 GaussDB支持date数据类型,与MySQL相比规格上存在如下差异: 输入格式: 分隔符:反斜杠\在MySQL和GaussDB中都视为转义,但MySQL支持\0,GaussDB
SQL GaussDB数据库兼容绝大多数MySQL语法,但存在部分差异。本章节介绍GaussDB数据库当前支持的MySQL语法。 部分关键字在MySQL可以做标识符但M-Compatibility不可以或存在限制,以下为限制做标识符列表 表1 限制做标识符列表 关键字类型 关键字
当该函数入参含有NULL且在WHERE关键字之后调用,返回结果与MySQL5.7不一致,此处为MySQL5.7存在的问题,MySQL8.0修复了该问题,目前GaussDB和MySQL8.0保持一致。 4 LEAST() 支持,有差异。 当MySQL返回值类型为二进制字符串类型(BINARY、VA
流量控制函数 表1 流量控制函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 IF() 支持 expr1入参仅支持bool类型。非bool类型入参若不能转换为bool类型则报错。 若expr2、expr3两入参类型不同且两类型间不存在隐式转换函数则报错。 两入参类型相同时,返回该入参类型。
其他函数 表1 其他函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 UUID() 支持 - 2 UUID_SHORT() 支持 - 父主题: 系统函数
procs_priv 在MySQL下需要授权后才能查看视图内容,M-Compatibility数据库可以根据默认权限查看到对应的内容。如对于表t1,在MySQL下需要先对t1给对应的用户授权,才能在权限视图中看到对应的权限信息,M-Compatibility数据库下则可以直接在视图中看到t1表相关的权限信息。
数据类型支持的属性 表1 数据类型支持的属性 序号 MySQL数据库 GaussDB数据库 1 NULL 支持 2 NOT NULL 支持 3 DEFAULT 支持 4 ON UPDATE 支持 4 PRIMARY KEY 支持 5 AUTO_INCREMENT 支持 6 CHARACTER