Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Laden einer .txt-Datei mit fester Breite und Leerzeichen in mySQL

Dies nennen wir Datensätze mit "fester Breite", und LOAD DATA spielt nicht gut mit ihnen. Optionen:

  1. Daten zuerst in Excel bereinigen, oder
  2. Laden Sie die Daten in eine temporäre Tabelle mit nur einer Spalte und schieben Sie eine ganze Textzeile in diese Spalte. Dann können Sie SUBSTR() verwenden und TRIM() um die benötigten Spalten in die endgültige Tabelle einzufügen.
  3. Oder mit Benutzervariablen (@row) können Sie alles innerhalb der LOAD DATA-Anweisung erledigen.
LOAD DATA LOCAL INFILE 
'/some/Path/segmentation.txt' 
INTO TABLE clip
(@row)
SET slideNum = TRIM(SUBSTR(@row,1,4)),
    startTime = TRIM(SUBSTR(@row,5,13)),
    endTime = TRIM(SUBSTR(@row,18,13))
;