本文介紹如何在SQL Console頁面通過提交工單導入數據至數據庫。
使用場景
表數據遷移
表數據備份
表數據分析
前提條件
數據庫類型如下:
關系型數據庫
MySQL:RDS MySQL、PolarDB MySQL版、MyBase MySQL、PolarDB分布式版、AnalyticDB MySQL版、其他來源MySQL。
SQL Server:RDS SQL Server、MyBase SQL Server、其他來源SQL Server。
PostgreSQL:RDS PostgreSQL、PolarDB PostgreSQL版、MyBase PostgreSQL、AnalyticDB PostgreSQL版、其他來源PostgreSQL。
MariaDB:RDS MariaDB、其他來源MariaDB。
OceanBase
PolarDB PostgreSQL版(兼容Oracle)
達夢數據庫
DB2
Oracle
非關系型數據庫
Redis
MongoDB
目標實例為已登錄狀態。
目標數據庫下至少有一張表。創建表的具體操作,請參見創建表。
已有待導入數據的文件,文件類型為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窗口中,查詢導入的數據。
等待任務執行完成。當完成區域出現任務執行完成時,表示任務執行完成。