Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySQL LOAD DATA INFILE:działa, ale nieprzewidywalny terminator linii

Możesz określić separator linii jako „\n” i usunąć końcowe separatory „\r”, jeśli to konieczne, z ostatniego pola podczas ładowania.

Na przykład -

Załóżmy, że mamy plik „entries.txt”. Separatorem linii jest '\r\n' i dopiero po linii ITEM2 | CLASS3 | DATE2 separatorem jest '\n':

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

Oświadczenie CREATE TABLE:

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

Nasze zapytanie 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);

Pokaż wyniki:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy mogę SSH do MySQL za pomocą narzędzi GUI?

  2. Jak wyświetlić przefiltrowane dane w JFreeChart

  3. Jak zbudować dynamiczne zapytanie przez powiązanie parametrów w node.js-sql?

  4. Włącz Pythona, aby połączyć się z MySQL przez tunelowanie SSH

  5. Jak używać mysql_escape_string() we frameworku Yii?