Shell-Skript zum Herstellen einer Verbindung zur Datenbank und Ausführen der Abfrage

Shell-Skript zum Herstellen einer Verbindung zur Datenbank und Ausführen der Abfrage
#!bin/bash
Query="update table_name set colume ='i' where column_name is NOT NUll"

mysql -u username -p password mysql  <<EOF
$query;
EOF

Das obige Skript funktioniert nicht

Antwort1

Die MySQL-Dokumentation ist ziemlich sauber:

#!bin/bash
query="update table_name set colume ='i' where column_name is NOT NUll"
mysql -u username -ppassword mysql -e "$query";

-eOption ermöglicht das Senden einer beliebigen Abfrage an den MySQL-Server.

-pBeachten Sie, dass zwischen und kein Leerzeichen steht password- das ist eine beabsichtigte Syntax der mysqlCLI

Antwort2

Das obige Skript funktioniert nicht, da die Shell-Syntax zwischen Groß- und Kleinschreibung unterscheidet und Sie früher Querydie Variable definiert und dann queryerweitert haben.

Andernfalls finden Sie in der Antwort von @Kondybas Informationen zur richtigen Vorgehensweise.

verwandte Informationen