检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
数据库是组织、存储和管理数据的仓库,而数据库定义主要包括:创建数据库、修改数据库属性,以及删除数据库。所涉及的SQL语句,请参考下表。 表1 数据库定义相关SQL 功能 相关SQL 创建数据库 CREATE DATABASE 修改数据库属性 ALTER DATABASE 删除数据库 DROP DATABASE
数据操作语句(DML) INSERT UPDATE REPLACE 引号 INTERVAL 除法表达式 GROUP BY转换 ROLLUP 父主题: MySQL语法迁移
DDL语法 DDL语法一览表 ALTER DATABASE ALTER FOREIGN TABLE (GDS导入导出) ALTER FOREIGN TABLE (For HDFS or OBS) ALTER FUNCTION ALTER GROUP ALTER INDEX ALTER
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
MySQL语法迁移 支持的关键词和特性 数据类型 函数和表达式 表(可选参数、操作) 索引 注释 数据库 数据操作语句(DML) 事务管理和数据库管理 父主题: DSC
MySQL配置 设置MySQL配置参数可在迁移MySQL数据库脚本时自定义迁移工具的行为。 打开config文件夹中的features-mysql.properties文件,并根据实际需要设置features-mysql.properties文件中的配置参数中的参数。 表1 features-mysql
(11,DEFAULT,DEFAULT,DEFAULT); SET MySQL INSERT...SET语句的形式插入基于明确指定的值的行。 输入示例 1 2 3 4 # INSERT INTO SET 可以针对性的执行插入操作,但是一次只能插入一行数据,不能批量添加数据 INSERT
DDL语法 DDL语法一览表 ALTER BLOCK RULE ALTER DATABASE ALTER EXCEPT RULE ALTER EXTERNAL SCHEMA ALTER FOREIGN TABLE (GDS导入导出) ALTER FOREIGN TABLE (For
GROUP BY转换 MySQL/ADB分组查询的时候允许查询非分组字段,不报错;DWS分组查询时只能查询分组字段和聚集函数,报错。因此补齐没有group by的查询分组字段。 输入示例 1 SELECT e.department_id, department_name, ROUND(AVG(salary)
INTERVAL MySQL中使用interval表达式格式为INTERVAL N时间单位,DWS不支持,需要转换为INTERVAL 'N'时间单位。 输入示例 1 2 3 4 5 6 SELECT CURRENT_TIME() - INTERVAL 4 DAY; SELECT NOW()
引号 单引号 MySQL中别名带单引号,GaussDB(DWS)不支持,DSC迁移改为双引号。 输入示例 1 select name as 'mingzi' from t1; 输出示例 1 2 3 4 SELECT name AS "mingzi" FROM t1; 反引号
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
UPDATE MySQL的UPDATE操作形式包括:LOW_PRIORITY、ORDER BY、LIMIT 、IGNORE。 LOW_PRIORITY MySQL UPDATE语句如果使用LOW_PRIORITY修饰符,则执行UPDATE延迟。 输入示例 1 2 #测试 LOW_PRIORITY
数据库是组织、存储和管理数据的仓库,而数据库定义主要包括:创建数据库、修改数据库属性,以及删除数据库。所涉及的SQL语句,请参考下表。 表1 数据库定义相关SQL 功能 相关SQL 创建数据库 CREATE DATABASE 修改数据库属性 ALTER DATABASE 删除数据库 DROP DATABASE
relations of database %s are already in tablespace %s. 解决方案:在使用此命令之前,必须将它们移回数据库的默认表空间。 level: ERROR GS_213140060 错误码: Modifying cross-database private
DDL操作规范 建议3.1 DDL操作(CREATE除外)避免在业务高峰期和长事务中执行 违反规范的影响: DDL操作普遍持锁级别高,如ALTER、DROP、TRUNCATE、REINDEX、VACUUM FULL等,执行时会造成业务等锁阻塞。 高峰期执行持锁级别高的DDL操作,造成业务等锁阻塞。
REPLACE MySQL的REPLACE操作形式包括:LOW_PRIORITY、PARTITION 、DELAYED 、VALUES、SET;(下述迁移示例为临时迁移方案) REPLACE的工作方式与INSERT完全相同,不同之处在于,如果表中的旧行与主键或唯一索引的新行具有相同的值,则在插入新行之前删除该旧行。
ROLLUP MySQL中的group by column with rollup需要转换为GaussDB(DWS)中的group by rollup (column); 输入示例 1 2 3 select id,product_id,count(1) from czb_account
索引重命名 DSC工具支持索引重命名,对索引名前加表名前缀防止索引名冲突(只支持创建有具体索引名的DDL语句,目前不支持删除索引的重命名,修改该参数需慎重)。 修改配置 打开表1 features-mysql.properties文件中的配置参数配置文件,修改如下参数为true。(默认false:不进行重命名)
支持的关键词和特性 DSC支持迁移的MySQL关键字和特性如表1所示。 “版本”列代表初次支持该关键字/特性的DWS集群版本。 “备注”列包含该特性的配置参数,可用于自定义迁移工具如何迁移相应的关键字/特性。 表1 章节 对象->关键词/特性 版本 备注 数据类型 数字类型 8.0