如何在UNIX Shell脚本中使用Oracle/MySQL SQL命令

时间:2020-01-09 10:42:56  来源:igfitidea点击:

如何在UNIX/Linux Shell脚本中调用Oracle或者MySQL sql语句?
您需要使用sh/bash或者ksh支持的here文档功能。
语法如下:

MySQL:在Shell脚本中直接使用SQL

#!/bin/sh
user="dbuser"
pass="dbpassword"
db="dbnme"
mysql -u "$user" -p"$pass" "$db" <<EOF
  sql-statement-1;
  sql-statement-2;
EOF

在SQL中使用Shell变量

#!/bin/sh
user="dbuser"
pass="dbpassword"
db="dbnme"
sql="select * from tal_name"
mysql -u "$user" -p"$pass"  <<EOF
  use $db;
  $sql;
EOF

Oracle:直接在Shell脚本中使用SQL

#!/bin/sh
user="system"
pass="manager"
sqlplus -S $user/$pass <<EOF
  sql-statement-1;
  sql-statement-2;
exit;
EOF

在SQL中使用Shell变量

#!/bin/sh
user="system"
pass="manager"
var=""
sqlplus -S $user/$pass <<EOF
SELECT * FROM tableName WHERE username=$var;  
exit;
EOF

您可以从.sql文件本身调用sql语句,如下所示:

#!/bin/ksh
sqlplus -S system/manager @my_sql_script.sql