shell處理mysql增、刪、改、查

來源:互聯網
上載者:User

標籤:shell mysql


#shell是如何操作mysql的?

    shell操作mysql其實就是通過mysql命令通過參數去執行語句,跟其他程式裡面是一樣的,看看下面這個參數:

-e, --execute=name  Execute command and quit. (Disables --force and history file.)

因此我們可以通過mysql -e來執行語句,就像下面這樣:


mysql -hlocalhost -P3306 -uroot -p123456 $test --default-character-set=utf8 -e "select * from users"



#在shell指令碼中操作mysql


1、匯出資料


MYSQL="mysql -h192.168.1.102 -uroot -p123456 --default-character-set=utf8 -A -N"

#這裡面有兩個參數,-A、-N,-A的含義是不去預讀全部資料表資訊,這樣可以解決在資料表很多的時候卡死的問題

#-N,很簡單,Don‘t write column names in results,擷取的資料資訊省去列名稱

sql="select * from test.user"

result="$($MYSQL -e "$sql")"


dump_data=./data.user.txt

>$dump_data

echo -e "$result" > $dump_data

#這裡要額外注意,echo -e "$result" > $dump_data的時候一定要加上雙引號,不讓匯出的資料會擠在一行


2、插入資料


#先看看要匯入的資料格式,三列,分別是id,名字,年齡(資料是隨便捏造的),放入data.user.txt


#OLF_IFS=$IFS

#IFS=","

#臨時設定預設分隔符號為逗號

cat data.user.txt | while read id name age

do

    sql="insert into test.user(id, name, age) values(${id}, ‘${name}‘, ${age});"

    $MYSQL -e "$sql"

done


3、更新資料


#先看看更新資料的格式,將左邊一列替換為右邊一列,只有左邊一列的刪除,下面資料放入update.user.txt

tf twoFile

西安電子科技大學 西軍電

西安交大 西安交通大學

北京大學


cat update.user.txt | while read src dst

do

    if [ ! -z "${src}" -a ! -z "${dst}" ]

    then

        sql="update test.user set name=‘${dst}‘ where name=‘${src}‘"

    fi

    if [ ! -z "${src}" -a -z "${dst}" ]

    then

        sql="delete from test.user where name=‘${src}‘"

    fi

    $MYSQL -e "$sql"

done


4、dump資料到sql檔案


#利用mysqldump這個命令可以很輕鬆的匯出所有資料的sql語句到指定檔案

#匯出[email protected]下面的exp.Opes中的所有資料到tt.sql

mysqldump -h localhost -u root -p exp Opes > ./tt.sql

#斷行符號之後輸入密碼就可以將所有sql語句輸出到tt.sql

匯入資料到mysql資料庫


#設定編碼,不然可能出現亂碼

mysql -hlocalhost -uroot --default-character-set=gbk -p exp< ./tt.sql

#斷行符號之後輸入密碼,匯入tt.sql中的所有資料到exp資料庫中



參考博文:http://www.cnblogs.com/iforever/p/4459857.html

shell處理mysql增、刪、改、查

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.