學習筆記(shell操作mysql增刪改查)

2021-08-20 05:41:07 字數 1920 閱讀 5421

昨天學習了如何用shell對mysql資料表增刪改查,做了乙個小例子,望與大家共勉,不足之處請大家多多指教。

**如下:

#!/bin/bash

#mysql2.sh

#n=''

mysql="mysql -uroot -pxz123456"

case $1 in

select)

sql="select * from test.$2"

;;delete)

case $2 in

student )

n='sname'

;;course)

n='cname'

;;score )

n='sno'

;;esac

sql="delete from test.$2 where $n='$3'"

;;insert)

case $2 in

student )

n='sno,sname,***,age,addr,class'

sql2="insert into test.$2($n) values('$3','$4','$5',$6,'$7','$8')"

;;course)

n='cno,cname,teacher'

sql2="insert into test.$2($n) values('$3','$4','$5')"

;;score)

n='sno,cno,grade'

sql2="insert into test.$2($n) values('$3','$4',$5)"

;;esac

sql=$sql2

;;update)

case $2 in

student ) 

if [ "$3" -eq 1 ];then

sql2="update test.$2 set sname='$4' where sno='$5'"

elif [ "$3" -eq 2 ];then

sql2="update test.$2 set ***='$4' where sno='$5'"

elif [ "$3" -eq 3 ];then

sql2="update test.$2 set age=$4 where sno='$5'"

elif [ "$3" -eq 4 ];then

sql2="update test.$2 set addr='$4' where sno='$5'"

else

sql2="update test.$2 set class='$4' where cno='$5'"

fi      

;;course)

if [ "$3" -eq 1 ];then

sql2="update test.$2 set cname='$4' where cno='$5'"

else

sql2="update test.$2 set teacher='$4' where cno='$5'"

fi;;

score)

if [ "$3" -eq 1 ];then

sql2="update test.$2 set grade=$4 where sno='$5' and cno='$6' "

else

echo  "the list is not exist!"

fi;;

esac

sql=$sql2

;;*)

sql="select * from test.$2"

;;esac

$mysql -e "$sql"

然後可以這樣執行操作,比如查詢 ./mysql2.sh select course,比如更改:./mysql2.sh update score 1 80 jsj001,001,乙個小測試,喜歡大家多多嘗試一下

shell 學習筆記

shell 是解釋型語言 移植性強課對應不同的直譯器 bin sh f 變數開頭以乙個字母或者下劃線,後接任意長度的字母 數字或者下劃線。命令 commod op 引數 輸入 輸出 重定向管道 echo printf 大口如小口出。特殊檔案 dev null bit bucket 刪除所有輸入的資料...

shell學習筆記

shell指令碼在linux下開發經常需要用到,shell的指令碼可以幫助使用者自動化地和作業系統進行互動,起到了提高效率的作用。學習一門語言,通常需要實戰演練編碼除錯,shell該如何除錯呢?使用bash x命令即可。vi demo.sh敲入 bin bash echo 1 echo date y...

shell學習筆記

1 shell檔案的第一行都必須是 bin sh 也可以有其他路徑,這裡我們只以這個為例 2 定義變數 a value 中間不能有空格 呼叫方法 echo a 3 shell常用的條件測試 備註 方括號兩側必須要有空格,f lt等兩側也必須要有空格 a f file 判斷 file是否是乙個檔案 b...