Shell - 一行查询

Cyc*_*one 19 mysql shell command-line freebsd

我需要使用bash在一行中执行mysql查询.

它应该是这样的:

mysql database --user='root' --password='my-password' < query.file
Run Code Online (Sandbox Code Playgroud)

但是< query.file它不想使用像这样的原始查询:

mysql database --user='root' --password='my-password' < UPDATE `database` SET `field1` = '1' WHERE `id` = 1111;
Run Code Online (Sandbox Code Playgroud)

那可能吗?

Nis*_*ant 42

你试过了吗

 mysql -u root -pmy_password -D DATABASENAME -e "UPDATE `database` SET `field1` = '1' WHERE `id` = 1111;" > output.txt 
Run Code Online (Sandbox Code Playgroud)

(> output.txt可以忽略该部分,但查看通过查看文件执行的语句返回的内容将很有用.)


小智 7

使用-e选项:

$ mysql -e "UPDATE ..."
Run Code Online (Sandbox Code Playgroud)


Som*_*ude 5

使用echo和管道:

echo "UPDATE `database` SET `field1` = '1' WHERE `id` = 1111;" | mysql database --user='root' --password='my-password'
Run Code Online (Sandbox Code Playgroud)