Ok, estoy usando Linux, pero creo que esto también es válido para Windows. Puede hacerlo directamente desde el símbolo del sistema
> mysql -u <user name> -p<password> <database name> < sqlfilename.sql
O desde el indicador mysql, puede usar:
mysql>source sqlfilename.sql
Pero ambos enfoques tienen sus propios beneficios en los resultados que muestran. En el primer enfoque, el script se cierra tan pronto como encuentra un error. Y la mejor parte es que le dice el número exacto de línea en el archivo fuente donde ocurrió el error. Sin embargo, SOLO muestra errores. Si no encontró ningún error, el script no muestra NADA. Lo cual puede ser un poco desconcertante. Porque la mayoría de las veces ejecuta un script con una pila completa de comandos.
Ahora, el segundo enfoque (desde el indicador mysql) tiene la ventaja de que muestra un mensaje para cada comando MySQL diferente en el script. Si encuentra errores, muestra el mensaje de error mysql pero continúa a través de los scripts. Esto puede ser bueno, porque luego puede volver y corregir todos los errores antes de volver a ejecutar el script. La desventaja es que NO muestra los números de línea en el script donde se encontraron los errores. Esto puede ser un poco molesto. Pero los mensajes de error son tan descriptivos que probablemente pueda averiguar dónde está el problema.
Yo, por mi parte, prefiero el enfoque de línea de comandos directamente desde el sistema operativo.