方法一:使用文件标签EOF重定向的方法的:

#!/bin/bash user=root pass=123456 db=mysql tablename=user mysql -s --line-numbers -f -u$user -p$pass -D $db --delimiter=";" -E< --SELECT host,user from $tablename order by 1; SELECT host,user from $tablename order by 1; quit EOF

优点:sql与shell 可以分离,写sql时不用关系shell。

方法二:使用mysql参数的方法

mysql -u$user -p$pass -D $db -e "select host from user;"

当然,可以通过将传参的方式来传递 -e 后面的语句。

 

方法三 将每一步需要执行的语句保存到 tmp.sql 中,最后在使用

mysql -uuname  -ppwd  < tmp.sql