sql >> データベース >  >> RDS >> Mysql

MySQL LOAD DATA INFILE:動作しますが、予測できないラインターミネータ

    行区切り文字を「\n」として指定し、必要に応じて、読み込み中に最後のフィールドから末尾の「\r」区切り文字を削除できます。

    例-

    'entries.txt'ファイルがあるとします。行区切り文字は'\r \ n'であり、行ITEM2 | CLASS3 | DATE2 区切り文字は'\n':

    COL1  | COL2   | COL3
    ITEM1 | CLASS1 | DATE1
    ITEM2 | CLASS3 | DATE2
    ITEM3 | CLASS1 | DATE3
    ITEM4 | CLASS2 | DATE4
    

    CREATE TABLEステートメント:

    CREATE TABLE entries(
      column1 VARCHAR(255) DEFAULT NULL,
      column2 VARCHAR(255) DEFAULT NULL,
      column3 VARCHAR(255) DEFAULT NULL
    )
    

    LOAD DATA INFILEクエリ:

    LOAD DATA INFILE 'entries.txt' INTO TABLE entries
    FIELDS TERMINATED BY '|'
    LINES TERMINATED BY '\n'
    IGNORE 1 LINES
    (column1, column2, @var)
    SET column3 = TRIM(TRAILING '\r' FROM @var);
    

    結果を表示する:

    SELECT * FROM entries;
    +---------+----------+---------+
    | column1 | column2  | column3 |
    +---------+----------+---------+
    | ITEM1   |  CLASS1  |  DATE1  |
    | ITEM2   |  CLASS3  |  DATE2  |
    | ITEM3   |  CLASS1  |  DATE3  |
    | ITEM4   |  CLASS2  |  DATE4  |
    +---------+----------+---------+
    


    1. NetBeansをMySQLデータベースに接続する方法は?

    2. 複数のdb列にインデックスを付けるコストはいくらですか?

    3. Codeigniter:order句の列'id'があいまいです

    4. PLS-00302を取得するのはなぜですか:コンポーネントは存在するときに宣言する必要がありますか?