Você pode usar Mysql LOAD DATA LOCAL INFILE sintaxe
LOAD DATA LOCAL INFILE '/path/to/file.txt'
INTO TABLE 'table1'
LINES TERMINATED BY '\n'
Para isso, certifique-se de que
Mysql
tem acesso a /path/to/file.txt
. Além disso, o usuário que está executando a consulta deve ter FILE privilégio. Com Pure PHP é fácil. Leia o arquivo, construa a consulta, execute-a. Você precisa construir a consulta para que você não acabe repetindo a consulta que é 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);