Puoi utilizzare Mysql LOAD DATA LOCAL INFILE sintassi
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE 'table1'
LINES TERMINATED BY '\n'
Per questo, assicurati Mysql
ha accesso a /path/to/file.txt
. Anche l'utente che sta eseguendo la query deve avere FILE privilegio.
Con Pure PHP è facile. Leggi il file, crea la query, eseguila. Devi creare la query in modo da non finire per eseguire il loop della query che è lenta.
$data = file("/path/to/file.txt", FILE_SKIP_EMPTY_LINES);
// make sure you have valid database connection prior to this point.
// otherwise mysql_real_escape_string won't work
$values = "('". implode("'), ('", array_map('mysql_real_escape_string', $data)). "')";
$query = "INSERT INTO `TABLE1` (`COLUMN1`) VALUES $values";
// Now just execute the query once.
mysql_query($query);