本文介紹如何在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語句中使用
SET @@SESSION.SQL_LOG_BIN= 0命令,DMS不支援通過命令列方式修改SQL_LOG_BIN,執行該語句將導致操作失敗。
保證整體SQL事務指執行的所有SQL中,如果有一條SQL執行失敗,則全部的SQL都會被取消執行資格,並復原到執行前的狀態。
操作步驟
如下以安全協同管控模式的資料庫操作舉例。
- 登入Data Management 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 for 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視窗中,查詢匯入的資料。
等待任務執行完成。當完成地區出現任務執行完成時,表示任務執行完成。