MySQL proporciona una característica maravillosa que le permite importar un archivo CSV directamente, en una sola consulta.
El comando SQL que está buscando es LOAD DATA INFILE
Página del manual aquí:http://dev.mysql.com /doc/refman/5.1/es/cargar-datos.html
Ejemplo rápido:
LOAD DATA INFILE 'fileName'
INTO TABLE tableName
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
(
field1,
field2,
field3,
@variable1,
@variable2,
etc
)
set
(
field4 = concat(@variable1,@variable2)
);
Ese es un ejemplo bastante básico, pero cubre la mayor parte de lo que querrías. La página del manual brinda detalles completos sobre cómo hacer cosas muy complejas con él.
Espero que ayude.