Bueno, mas o menos seria algo asi:
Código PHP:
$fichero=file('fichero.txt');
$tabla=array();
$ordenar=array();
$num_campo_ordenar=3; // el indice del campo por el que quieres ordenar
foreach ($fichero as $registro) {
$reg=parsear_registro($registro);
$ordenar[]=$reg[$num_campo_ordenar];
$tabla[]=$reg;
}
array_multisort($tabla, $ordenar); // ordena $tabla
foreach ($tabla as $registro) {
echo implode(" - ", $registro); // muestro el resultado
}
La funcion parsear_registro() debe devolver un array con los campos resultado de parsear la linea de datos.
Este codigo lo he creado directamente de mi cabeza (con ayuda del manual), asi que esta sin probar. No me hago responsable de los daños que te produzca a ti, a tu novia, a tu mascota, ...
Y sobre MySQL, creo que te conviene empezar por conceptos de base de datos y SQL.
Saludos.