sql >> Databasteknik >  >> RDS >> Mysql

Ladda upp stor CSV-fil till Mysql-databasen

Om du har lämpliga behörigheter kan du göra det direkt i MySQL med LOAD DATA INFILE kommando, se http://dev.mysql.com/ doc/refman/4.1/en/load-data.html eller mysqlimport verktyg, se http://dev.mysql.com/doc/ refman/4.1/en/mysqlimport.html

Båda metoderna låter dig specificera vilka kolumner data ska hamna i, till exempel:

LOAD DATA INFILE 'myfile.txt' INTO TABLE 'mytable' (col1, col2, col3, ...)

eller

mysqlimport --columns='col1,col2,...' tablename.csv

Om du tänker göra det från PHP bör du kunna läsa varje rad i CSV-filen och köra en lämplig SQL INSERT-fråga och namnge lämpliga kolumner (även om det inte kommer att vara lika effektivt som att göra det direkt i MySQL).

EDIT:Jag ska tillägga att du inte har nämnt vad du har försökt hittills eller vad du tycker är svårt; om du har fastnat för något speciellt, istället för att bara leta efter förslag på hur du ska göra det, vänligen uppdatera frågan för att säga det.




  1. Hur APPROX_COUNT_DISTINCT() fungerar i SQL Server

  2. Hibernate skapar inte kopplingstabell

  3. Hur konverterar man tid i sekunder till HH:MM:SS-format i MySQL?

  4. Row Goals, del 3:Anti Joins