Shell脚本中执行sql语句操作MySQL数据库的几个方法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,实验如下:[root@idb1 ~]# more /etc/issueCentOS release 6.5 (Final)Kernel \r on an \mmysql> show variables
千家信息网最后更新 2026年11月01日Shell脚本中执行sql语句操作MySQL数据库的几个方法实验如下:
[root@idb1 ~]# more /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.6.27-log |
+---------------+------------+
1 row in set (0.00 sec)
1、将SQL语句直接嵌入到shell脚本文件中
[root@idb1 ~]# cat shell_example01.sh
#!/bin/bash
# Define log
TIMESTAMP=`date +%Y%m%d%H%M%S`
LOG=call_sql_${TIMESTAMP}.log
echo "Start execute sql statement at `date`." >>${LOG}
# execute sql stat
mysql -umdba -p123456 -e "
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
quit
echo -e "\n">>${LOG}
echo "below is output result.">>${LOG}
cat /tmp/temp.log>>${LOG}
echo "script executed successful.">>${LOG}
exit;
[root@idb1 ~]# chmod +x shell_example01.sh
[root@idb1 ~]# sh shell_example01.sh
Warning: Using a password on the command line interface can be insecure.
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.
2、命令行调用单独的SQL文件例子:
[root@idb1 ~]# cat temp.sql
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'duansf'),(2,'liuyb'),(3,'jack');
select * from tb_tmp;
notee
quit
[root@idb1 ~]# mysql -umdba -p -e "source /root/temp.sql"
Enter password:
Logging to file '/tmp/temp.log'
+------+--------+
| id | val |
+------+--------+
| 1 | duansf |
| 2 | liuyb |
| 3 | jack |
+------+--------+
Outfile disabled.
#使用管道符调用SQL文件以及输出日志
[root@idb1 ~]# mysql -umdba -p Enter password:
Logging to file '/tmp/temp.log'
id val
1 duansf
2 liuyb
3 jack
Outfile disabled.
4、shell脚本中MySQL提示符下调用SQL命令例子:
[root@idb1 ~]# cat shell_example02.sh
#!/bin/bash
mysql -umdba -pdsf0723 <source /root/temp.sql;
select current_date();
delete from tempdb.tb_tmp where id=3;
select * from tempdb.tb_tmp where id=2;
EOF
exit
[root@idb1 ~]# sh shell_example02.sh
Warning: Using a password on the command line interface can be insecure.
Logging to file '/tmp/temp.log'
id val
1 duansf
2 liuyb
3 jack
Outfile disabled.
current_date()
2017-03-14
id val
2 liuyb
[root@idb1 ~]# more /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
mysql> show variables like 'version';
+---------------+------------+
| Variable_name | Value |
+---------------+------------+
| version | 5.6.27-log |
+---------------+------------+
1 row in set (0.00 sec)
1、将SQL语句直接嵌入到shell脚本文件中
[root@idb1 ~]# cat shell_example01.sh
#!/bin/bash
# Define log
TIMESTAMP=`date +%Y%m%d%H%M%S`
LOG=call_sql_${TIMESTAMP}.log
echo "Start execute sql statement at `date`." >>${LOG}
# execute sql stat
mysql -umdba -p123456 -e "
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'jack'),(2,'robin'),(3,'mark');
select * from tb_tmp;
notee
quit
echo -e "\n">>${LOG}
echo "below is output result.">>${LOG}
cat /tmp/temp.log>>${LOG}
echo "script executed successful.">>${LOG}
exit;
[root@idb1 ~]# chmod +x shell_example01.sh
[root@idb1 ~]# sh shell_example01.sh
Warning: Using a password on the command line interface can be insecure.
Logging to file '/tmp/temp.log'
+------+-------+
| id | val |
+------+-------+
| 1 | jack |
| 2 | robin |
| 3 | mark |
+------+-------+
Outfile disabled.
2、命令行调用单独的SQL文件例子:
[root@idb1 ~]# cat temp.sql
tee /tmp/temp.log
drop database if exists tempdb;
create database tempdb;
use tempdb
create table if not exists tb_tmp(id smallint,val varchar(20));
insert into tb_tmp values (1,'duansf'),(2,'liuyb'),(3,'jack');
select * from tb_tmp;
notee
quit
[root@idb1 ~]# mysql -umdba -p -e "source /root/temp.sql"
Enter password:
Logging to file '/tmp/temp.log'
+------+--------+
| id | val |
+------+--------+
| 1 | duansf |
| 2 | liuyb |
| 3 | jack |
+------+--------+
Outfile disabled.
#使用管道符调用SQL文件以及输出日志
[root@idb1 ~]# mysql -umdba -p Enter password:
Logging to file '/tmp/temp.log'
id val
1 duansf
2 liuyb
3 jack
Outfile disabled.
4、shell脚本中MySQL提示符下调用SQL命令例子:
[root@idb1 ~]# cat shell_example02.sh
#!/bin/bash
mysql -umdba -pdsf0723 <
select current_date();
delete from tempdb.tb_tmp where id=3;
select * from tempdb.tb_tmp where id=2;
EOF
exit
[root@idb1 ~]# sh shell_example02.sh
Warning: Using a password on the command line interface can be insecure.
Logging to file '/tmp/temp.log'
id val
1 duansf
2 liuyb
3 jack
Outfile disabled.
current_date()
2017-03-14
id val
2 liuyb
文件
脚本
例子
命令
语句
提示符
日志
管道
实验
提示
输出
数据
数据库
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技公司
美国互联网保险保险科技
科技互联网政务服务
易互联网科技有限公司
平安科技 互联网
互联网未来科技
科技互联网公司logo
互联网科技公司有哪些
互联网科技博客
农村开互联网科技讲堂
中化能源互联网科技招聘
宁夏众和广鑫互联网科技有限公司
花神(南京)互联网科技有限公司
玉溪互联网科技怎么选
恒生互联网科技指数跳水
玉溪新华互联网科技好不好
互联网科技快讯热点
工业互联网科技创业
同城互联网络科技
数字科技和互联网金融哪个好
互联网科技海报
百单网互联网科技有限公司怎么样
万达互联网科技
互联网科技咨询
互联网科技公司需要的职位
农村开互联网科技讲堂
卡尔迅互联网科技有限公司
吉林省码上互联网科技电话
知域互联网科技有限公司官网
每日互联网科技新闻