日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用LOAD DATA語句導入數據

本文介紹在PolarDB-X中使用load data進行數據導入的相關限制和注意事項。

注意事項

  • 使用load data進行數據導入時,load data語句并非一個事務,因此各種原因(如數據庫宕機等)可能導致部分數據插入,剩余部分未插入。

  • 客戶端需要開啟local-infile。

語法

LOAD DATA   
    [LOCAL] 
    INFILE 'file_name' 
    [REPLACE | IGNORE] 
    INTO TABLE tbl_name 
    [CHARACTER SET charset_name] 
    [{FIELDS | COLUMNS}
        [TERMINATED BY 'string'] 
        [ENCLOSED BY 'char'] 
        [ESCAPED BY 'char'] 
    ]
    [LINES
        [STARTING BY 'string'] 
        [TERMINATED BY 'string'] 
    ]
    [IGNORE number {LINES | ROWS}] 
    [(col_name_or_mask [, col_name_or_mask] ...)]  

參數說明

參數名稱

說明

LOAD DATA [LOCAL] INFILE

文件位于服務端還是client端。

file_name

使用相對路徑時,為相對于客戶端啟動時的路徑。

REPLACE

導入數據時,若遇到主鍵重復則強制用當前數據覆蓋已有數據。

IGNORE

導入數據時,若遇到主鍵重復則自動忽略該行。

[FIELDS] TERMINATED BY 'string'

定義每行數據的分隔符,默認為\t。

[FIELDS] ENCLOSED BY 'char'

每列數據的包圍符。例如,某一列數據為"test",定義enclosed by '"'后,導入數據時先將"test"前后的"移除,然后再導入數據。

[LINES] TERMINATED BY 'string'

定義行分隔符,默認為\n。

IGNORE number LINES

導入數據時忽略開始的某幾行。例如,IGNORE 1 LINES,導入數據時忽略第一行數據。

(col_name_or_mask [, col_name_or_mask] ...)

  1. 設置導入的列,如果不設置,默認按照表中的列順序來導入數據。

  2. 掩蓋掉文件中的某些列,使文件中對應列失效,例如,table test(x int, y int),導入文件有三列,導入時使用 (x, @name, y) 則會忽略文件中的第二列,使用第一列填充x,使用第三列填充y。

示例

創建測試表:

CREATE TABLE test ( a int(11) NOT NULL DEFAULT '0',  b varchar(8) NOT NULL,  PRIMARY KEY (a)  ) DBPARTITION by hash(a);

本地待導入文件:

x,y
test1,2
test2,3
test3,4
test4,5
test5,6
test7,8
test8,9

load data語句:

LOAD DATA LOCAL INFILE '~/test.txt' IGNORE INTO TABLE test FIELDS TERMINATED BY ',' LINES STARTING BY 'test' TERMINATED BY '\n' IGNORE 1 LINES;

結果如下:

select * from test order by a;
+------+------+
| a    | b    |
+------+------+
|    1 | 2    |
|    2 | 3    |
|    3 | 4    |
|    4 | 5    |
|    5 | 6    |
|    7 | 8    |
|    8 | 9    |
+------+------+
7 rows in set (0.02 sec)