shell执行mysql的脚本(包括mysql执行shell脚本)

时间:2021-02-25 08:05:20

在Shell中执行mysql的脚本,这里介绍比较容易使用的一种方法

首先写好sql的脚本,后缀为.sql,比如

sql_file.sql:内容如下

#这是SQL的脚本
create table if not exists test_sql(id int(10),name varchar(20));
insert into test_sql values(1,'正餐');
select * from test_sql;

很简单的创建、插入、查询

之后shell的脚本,内容如下

#!/bin/bash #这是执行SQL的脚本,传入数据库表,和SQL文件名即可

name=$1

file_name=$2

cd /opt/lampp/bin ./mysql -uroot -p123456 <<EOF
use ${name};

source ${file_name};

EOF

./mysql -uroot -p123456是进入mysql的命令,前面的路径可以改成自己的绝对路径

<< EOF  EOF    中间可以写出任意的mysql脚本

其中,如果要执行某个.sql的命令,直接用 source 脚本.sql   即可执行该脚本上面的命令,这里使用的是source sql_file.sql

此外,如果在mysql中需要执行shell脚本

可以在EOF中  ./mysql -uroot -p123456<<EOF   \!  sh shell.sh  EOF

前面加上  !\  +linux中执行的shell命令即可

快来试试吧!