本文介绍如何在SQL Console页面通过提交工单导入数据至数据库。
使用场景
表数据迁移
表数据备份
表数据分析
前提条件
数据库类型如下:
目标实例为已登录状态。
目标数据库下至少有一张表。创建表的具体操作,请参见创建表。
已有待导入数据的文件,文件类型为SQL、CSV或XLSX。
重要待导入数据的字段必须与目标表的字段一致,否则会报错。
注意事项
导入数据功能支持分批执行SQL,默认每批次执行1000条SQL,但不保证整体SQL事务。
保证整体SQL事务指执行的所有SQL中,如果有一条SQL执行失败,则全部的SQL都会被取消执行资格,并回滚到执行前的状态。
操作步骤
如下以安全协同管控模式的数据库操作举例。
- 登录数据管理DMS 5.0。
在首页左侧的数据库实例列表中,找到目标数据库。
说明若您使用的是极简模式的控制台,请单击左侧的数据库实例,在数据库实例列表中,找到目标数据库。
左键双击目标数据库,进入SQL Console页面。
在表列表区域,右键单击目标表,在弹出的列表中单击导入。
说明您也可以在数据库开发 > 数据变更 > 普通数据变更中提交SQL语句或者上传SQL脚本文件。DMS的普通数据变更支持提交更多SQL语句类型,包括数据的增删改查、表结构的变更等功能,详情请参见普通数据变更。
在数据导入面板中,配置如下信息。
配置项
说明
数据库
数据导入操作的目标数据库。仅支持选择一个数据库。
说明管控模式为自由操作或稳定变更的实例数据库需要登录后方可选择。
关联迭代(可选)
您可以单击选择/切换迭代关联已创建的迭代。
原因类别
根据实际情况选择数据导入的原因。
业务背景
详细填写本次操作的业务背景,减少沟通成本。
执行方式
根据需求,选择工单执行方式:
审批通过后,提交者执行。
审批通过后,自动执行。
最后一个审批人执行。
文件编码
选择数据库的文件编码:
UTF-8
GBK
ISO-8859-1
自动识别
导入模式
选择导入模式,当前支持两种导入模式:
极速模式:在执行阶段读取文件,将SQL语句直接执行到指定的目标库。该模式安全性相比安全模式要低,但是执行时效较高。
说明安全规则配置默认未开启支持极速模式导入数据。您可以在实例关联的安全规则SQL变更基础配置项中开启该检测项。
安全模式:预检查阶段会解析文件并将SQL或CSV数据缓存入库,执行时再从缓存库中读出来执行到指定的目标库。该模式安全性较好,但是执行时效相比极速模式要低。
文件类型
选中导入数据的文件类型:
SQL脚本:安全协同模式下,默认仅放开INSERT和REPLACE命令类型。如需调整,可以由DBA或管理员在安全规则 > SQL变更 > 批量数据导入中修改。
CSV格式:文件中的分隔符必须为逗号。
Excel格式:Excel文件中可以有表头(属性),也可以直接是数据。
目标表
选择导入数据的目标表。
数据位置
选择数据的位置:
第1行为属性:表格首行是字段名。
第1行为数据:表格首行是数据。
写入方式
选择文件的写入方式:
INSERT:插入数据时数据库会检查主键(PrimaryKey),如果出现重复会报错。
INSERT_IGNORE:如果表中已经存在相同的记录,则忽略当前新数据。
REPLACE_INTO:如果表中已经有某行数据(根据主键或者唯一索引判断),则先删除此行数据,然后插入新的数据。
说明RDS MySQL、PolarDB MySQL版、PolarDB分布式版、AnalyticDB MySQL版和OceanBase数据库类型支持如上三种写入方式。其他数据库仅支持
INSERT
写入。附件
单击上传文件上传附件。
说明支持SQL、CSV、TXT、XLSX和ZIP文件类型。
附件最大不能超过5 GB。
其他选项(可选)
选择是否忽略异常报错。
不忽略(不选中):系统默认。系统遇到异常会停止执行后续SQL并报错。
忽略(选中):系统执行失败会忽略异常,并继续执行后续SQL。
回滚SQL(可选)
在SQL执行错误或异常的情况下,可执行回滚SQL来撤销执行的SQL操作,将数据库恢复到执行该SQL前的状态。您可选择如下任一方式输入回滚SQL:
文本:在下方输入框中书写回滚SQL。
附件:上传回滚SQL文件。
说明支持SQL、TXT和ZIP文件类型。
文件最大不能超过15 MB。
变更相关人(可选)
设置的相关人员都可查看工单,并协同工作,非相关人员则不能查看工单(管理员、DBA除外)。
工单附件(可选)
可以上传工单相关信息的图片或文档来补充当前工单信息。
单击提交申请,等待预检查通过。
此时,系统会预检查您上传的SQL,如果是CSV文件,会生成相应的INSERT语句。
说明若在预检查的类型检查阶段出现报错,需要根据报错信息调整实例关联的安全规则。具体操作,请参见数据变更。
- 在审批区域,单击提交审批,在提示对话框中单击确认。
待审批通过后,在执行区域,单击执行变更。
在任务设置对话框中,选择工单的执行策略,单击确定执行。
立即执行:系统默认选项。
定时执行:自定义开始执行工单的时间。
说明您可以在执行区域,查看任务执行状态、任务SQL检查详情和调度日志。
任务执行完成后,您可以在目标数据库的SQL窗口中,查询导入的数据。
等待任务执行完成。当完成区域出现任务执行完成时,表示任务执行完成。