Puede usar Mysql LOAD DATA LOCAL INFILE sintaxis
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE 'table1'
LINES TERMINATED BY '\n'
Para esto, asegúrese de que Mysql
tiene acceso a /path/to/file.txt
. Además, el usuario que está ejecutando la consulta debe tener ARCHIVO privilegio.
Con Pure PHP es fácil. Lea el archivo, cree la consulta, ejecútela. Debe crear la consulta para que no termine haciendo un bucle de consulta que es lento.
$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);