Necesitas usar PHP? .. o sólo hacer el proceso? (en tal caso existen GUI's para Mysql para tal fin: .. desde el phpMyadmin (en PHP) hasta Navicat por ejemplo (windows) entre otros...)
Si vas a usar PHP .. en principio un CSV es un archivo de texto plano con cierta definición: campos separados por comas y registros por salto de línea ..
EL trabajo de archivos (para genear el archivo en sí ) con PHP lo haces con las funciones: fopen() .. fwrite() y afines.
Sólo tienes que tener presente que tendrás que hacer tu consulta SQL a tu BD -> obtener los registros como lo harás ya .. pero ahora vas a generar "fwrite()" del tipo y formato que requieres:
$linea = $row['campo1'].",".row['campoN']."\n";
El "\n" sería el salto de línea y ahí veras concatenado tus variables (los campos que obtienes de tu registro con el separador (coma en ese caso).
Para importar ese CSV en tu tabla Mysql .. puedes usar el comando SQL:
LOAD DATA
http://dev.mysql.com/doc/mysql/en/LOAD_DATA.html
De todo esto tienes ejemplos (creo recordar) en las FAQ's de este foro PHP (hechales un viztazo) y sino en sítios como
www.phpclasses.org
Un saludo,