好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁(yè) > 知識(shí)庫(kù) > Shell腳本中執(zhí)行sql語(yǔ)句操作mysql的5種方法

Shell腳本中執(zhí)行sql語(yǔ)句操作mysql的5種方法

熱門標(biāo)簽:地圖標(biāo)注超出范圍怎么辦 旅游地圖標(biāo)注大全 百度地圖的地圖標(biāo)注 陜西電銷卡外呼系統(tǒng)怎么安裝 佛山高德地圖標(biāo)注中心 excel地址地圖標(biāo)注 東莞電銷機(jī)器人價(jià)格一覽表 百度地圖標(biāo)注圖標(biāo)更換 杭州機(jī)器人外呼系統(tǒng)

對(duì)于自動(dòng)化運(yùn)維,諸如備份恢復(fù)之類的,DBA經(jīng)常需要將SQL語(yǔ)句封裝到shell腳本。本文描述了在Linux環(huán)境下mysql數(shù)據(jù)庫(kù)中,shell腳本下調(diào)用sql語(yǔ)句的幾種方法,供大家參考。對(duì)于腳本輸出的結(jié)果美化,需要進(jìn)一步完善和調(diào)整。以下為具體的示例及其方法。

1、將SQL語(yǔ)句直接嵌入到shell腳本文件中

復(fù)制代碼 代碼如下:

--演示環(huán)境 
[root@SZDB ~]# more /etc/issue 
CentOS release 5.9 (Final) 
Kernel \r on an \m 
 
root@localhost[(none)]> show variables like 'version'; 
+---------------+------------+ 
| Variable_name | Value      | 
+---------------+------------+ 
| version       | 5.6.12-log | 
+---------------+------------+ 
 
[root@SZDB ~]# more shell_call_sql1.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 -uroot -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@SZDB ~]# ./shell_call_sql1.sh  
Logging to file '/tmp/temp.log' 
+------+-------+ 
| id   | val   | 
+------+-------+ 
|    1 | jack  | 
|    2 | robin | 
|    3 | mark  | 
+------+-------+ 
Outfile disabled. 

2、命令行調(diào)用單獨(dú)的SQL文件

復(fù)制代碼 代碼如下:

[root@SZDB ~]# more 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,'jack'),(2,'robin'),(3,'mark'); 
select * from tb_tmp; 
notee 
 
[root@SZDB ~]# mysql -uroot -p123456 -e "source /root/temp.sql" 
Logging to file '/tmp/temp.log' 
+------+-------+ 
| id   | val   | 
+------+-------+ 
|    1 | jack  | 
|    2 | robin | 
|    3 | mark  | 
+------+-------+ 
Outfile disabled. 

3、使用管道符調(diào)用SQL文件

復(fù)制代碼 代碼如下:

[root@SZDB ~]# mysql -uroot -p123456 /root/temp.sql 
Logging to file '/tmp/temp.log' 
id      val 
1       jack 
2       robin 
3       mark 
Outfile disabled. 
 
#使用管道符調(diào)用SQL文件以及輸出日志 
[root@SZDB ~]# mysql -uroot -p123456 /root/temp.sql >/tmp/temp.log 
[root@SZDB ~]# more /tmp/temp.log 
Logging to file '/tmp/temp.log' 
id      val 
1       jack 
2       robin 
3       mark 
Outfile disabled. 

4、shell腳本中MySQL提示符下調(diào)用SQL

復(fù)制代碼 代碼如下:

[root@SZDB ~]# more shell_call_sql2.sh 
#!/bin/bash 
mysql -uroot -p123456 EOF 
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@SZDB ~]# ./shell_call_sql2.sh 
Logging to file '/tmp/temp.log' 
id      val 
1       jack 
2       robin 
3       mark 
Outfile disabled. 
current_date() 
2014-10-14 
id      val 
2       robin 

5、shell腳本中變量輸入與輸出

復(fù)制代碼 代碼如下:

[root@SZDB ~]# more shell_call_sql3.sh 
#!/bin/bash 
cmd="select count(*) from tempdb.tb_tmp" 
cnt=$(mysql -uroot -p123456 -s -e "${cmd}") 
echo "Current count is : ${cnt}" 
exit  
[root@SZDB ~]# ./shell_call_sql3.sh  
Warning: Using a password on the command line interface can be insecure. 
Current count is : 3 
 
[root@SZDB ~]# echo "select count(*) from tempdb.tb_tmp"|mysql -uroot -p123456 -s 

 
[root@SZDB ~]# more shell_call_sql4.sh 
#!/bin/bash 
id=1 
cmd="select count(*) from tempdb.tb_tmp where id=${id}" 
cnt=$(mysql -uroot -p123456 -s -e "${cmd}") 
echo "Current count is : ${cnt}" 
exit  
 
[root@SZDB ~]# ./shell_call_sql4.sh  
Current count is : 1 
 
#以上腳本演示中,作拋磚引玉只用,對(duì)于輸出的結(jié)果不是很規(guī)整友好,需要進(jìn)一步改善和提高。 

您可能感興趣的文章:
  • MySQL 最基本的SQL語(yǔ)法/語(yǔ)句
  • MySQL 創(chuàng)建主鍵,外鍵和復(fù)合主鍵的語(yǔ)句
  • MySql增加用戶、授權(quán)、修改密碼等語(yǔ)句
  • 淺談MySQL中優(yōu)化sql語(yǔ)句查詢常用的30種方法
  • mysql查詢今天、昨天、近7天、近30天、本月、上一月的SQL語(yǔ)句
  • MySQL數(shù)據(jù)庫(kù)INSERT、UPDATE、DELETE以及REPLACE語(yǔ)句的用法詳解
  • MySQL查詢語(yǔ)句大全集錦
  • 整理MySql常用查詢語(yǔ)句(23種)
  • MySQL SQL語(yǔ)句優(yōu)化的10條建議
  • mysql常用命令行操作語(yǔ)句
  • Mysql數(shù)據(jù)庫(kù)之sql基本語(yǔ)句小結(jié)

標(biāo)簽:雅安 南充 通遼 隨州 西藏 青島 朝陽(yáng) 延邊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Shell腳本中執(zhí)行sql語(yǔ)句操作mysql的5種方法》,本文關(guān)鍵詞  Shell,腳本,中,執(zhí)行,sql,語(yǔ)句,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Shell腳本中執(zhí)行sql語(yǔ)句操作mysql的5種方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Shell腳本中執(zhí)行sql語(yǔ)句操作mysql的5種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 曰批全过程免费视频在线观看| 《国产精品自在拍在线拍》| 欧美一区二区三区网站| 乱淫家教| 久久精品国产清白在天天线| 女教师日本| 被涨醒的早晨高h| 国产AV精品人妻系列丝袜足应用| 张开腿h合不拢腿| ass白嫩白嫩的小美女| 美女扒开腿秘?让男人看| 黄色一级片段| 多人运动视频曝出六秒| 黄色成年小说免费观看| 夜玩亲女小妍未删节最新章节| 日日天干夜夜人人添| 国产成人a一在线观看| 久久久国产99久久国产久| 夜夜爱成人免费网站| 色综合久久综合| 丰满老妇高潮一级A片| 108式污成人姿势体位扑克牌| 三男一女做爰视频试看| 把女人弄得爽黄a大片| 折腰gl清汤涮香菜| 4hu视频| 性欧美高清短视频免费| 一边亲一边摸进内裤里的视频| 午夜福利伦伦电影理论片在线观看 | 被两根粗大的??巴捣出白浆| 91蝌蚪91????九色白浆| 国产精品人妻无码一区二区三区 | 国产一级毛片a午夜一级毛片| 亲胸揉胸膜下刺激娇喘的原因| 日韩激情视频网站| 欧美videossexo肥婆| 日本四十路| 无码精品人妻一区二区三刘亦菲 | 放纵的娇妻爱3p| 女人脱裤子让男生桶爽| 色就色s94亚洲|