Für die Abfrage einer MySQL Datenbank per Shellscript gibt es verschiede Möglichkeiten, die in diesem Artikel kurz vorgestellt werden.

Parameter

Die erste Möglichkeit, um MySQL Abfragen per Shellscript auszuführen, ist die Übergabe der Abfrage per Parameter:

mysql -u<username> -p<password> -e "SELECT * FROM posts"

Diese Variante eignet sich besonders für kurze Abfragen.

Heredoc

Sofern die Abfrage eine gewisse Länge erreicht, kann auch ein Heredoc verwendet werden:

mysql -u<username> -p<password> <<EOF
    SELECT *
    FROM   posts
    WHERE  draft = 0
    AND    published_at <= NOW()
EOF

SQL Datei

Zuletzt bleibt die Möglichkeit, ganze SQL Dateien zu übergeben:

mysql -u<username> -p<password> < <sql file>