Tamam, Linux kullanıyorum ama bunun Windows için de geçerli olduğunu düşünüyorum. Bunu doğrudan komut isteminden yapabilirsiniz
> mysql -u <user name> -p<password> <database name> < sqlfilename.sql
Veya mysql isteminden şunları kullanabilirsiniz:
mysql>source sqlfilename.sql
Ancak bu yaklaşımların her ikisinin de gösterdikleri sonuçlarda kendi yararları vardır. İlk yaklaşımda, komut dosyası bir hatayla karşılaşır karşılaşmaz kapanır. Ve daha iyi bölüm, hatanın oluştuğu kaynak dosyada tam satır numarasını söylemesidir. Ancak, SADECE hataları görüntüler. Herhangi bir hatayla karşılaşmadıysa, komut dosyalarında HİÇBİR ŞEY görüntülenir. Bu biraz sinir bozucu olabilir. Çünkü çoğu zaman bir komut yığını içeren bir komut dosyası çalıştırıyorsunuz.
Şimdi ikinci yaklaşım (mysql isteminden) komut dosyasındaki her farklı MySQL komutu için bir mesaj görüntüleme avantajına sahiptir. Hatalarla karşılaşırsa, mysql hata mesajını görüntüler, ancak komut dosyaları aracılığıyla devam eder. Bu iyi olabilir, çünkü komut dosyasını tekrar çalıştırmadan önce geri dönüp tüm hataları düzeltebilirsiniz. Dezavantajı, hatalarda karşılaşılan komut dosyasında satır numaralarını GÖSTERMEMEKTEDİR. Bu biraz acı olabilir. Ancak hata mesajları açıklayıcıdır, böylece sorunun nerede olduğunu anlayabilirsiniz.
Birincisi, doğrudan OS-komut satırı yaklaşımını tercih ediyorum.