Script executeren (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen

De mysql-client is bedoeld voor interactief gebruik, maar je kunt er ook scripts (bestanden met SQL-commando's) mee uitvoeren.

Gebruikelijke syntaxis:

mysql -u username -ppassword -h db_name < script_file

of

mysql -u username -ppassword -e executiestring

Als je een .my.cnf-bestand aanmaakt (zie Installatie MySQL), dan kun je de credentials achterwege laten (heel erg prettig!):

mysql db_name < script_file

Indien het eerste statement in het bestand een use db_name-commando is, kan het ook zo:

mysql < script_file

Je kunt scriptbestanden ook executeren vanuit mysql:

source bestandsnaam

of

\. bestandsnaam

Feedback

Er zijn in ieder geval twee manieren om feedback te krijgen tijdens executie van een script.

Verbose

De eerste methode is middels --verbose. Bv.:

mysql < script-010-dwh-main.sql --verbose

Select-statements

De tweede methode is, door select-statements op te nemen in het script. Net als debuggen dus. Waarschijnlijk Niet altijd even practisch.

Direct strings executeren

Bv.:

mysql --execute "show databases;"

Zie ook

Bronnen