shell脚本中执行mysql 语句的方法

  
方法一:使用文件标签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 中,最后在使用

  1.   mysql -u uname -p pwd < tmp.sql