Shell脚本中执行sql语句操作MySQL数据库的几个方法
发表于:2025-01-25 作者:千家信息网编辑
千家信息网最后更新 2025年01月25日,实验如下:[root@idb1 ~]# more /etc/issueCentOS release 6.5 (Final)Kernel \r on an \mmysql> show variables
千家信息网最后更新 2025年01月25日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安全错误
数据库的锁怎样保障安全
数据库原理要学高数吗
怎样看电脑服务器时间
ui云服务器
服务器如何防止托管数据丢失
我的世界服务器装备解绑指令
浙大数据库系统
网络安全教育稿子100字
人行软件开发中心联系方式
linux邮箱服务器
标签应该用什么类型数据库
软件开发在国企上班有前景吗
云网客网络技术有限
防勒索病毒服务器版 价格
网络安全法建立了
软件开发2年多月薪多少合理
下列哪些政策对国内网络安全
服务器共享同一域名
网络服务器的样子
数据库语言存储过程使用实例
网络技术公司增值税税率
北约网络安全
新核心网络技术标准
小米手机ntp服务器
鼓励玩家切换到更安静的服务器
ibm服务器 管理软件
cs1.6服务器安全吗
阿里云服务器有免费活动吗
钉讯软件服务器错误
拆服务器导轨
服务器建设托管