當前位置:首頁 » 參考文獻 » shell循環讀取資料庫資料庫數據

shell循環讀取資料庫資料庫數據

發布時間: 2021-03-23 04:42:13

① Linux shell腳本for循環中in的[數據列表]從文件中取得

for i in $(cat test)
可以試試看, for之前可以指定分隔符號.
另外一般用 while read 讀取文件

還有其實上面兩種都不好, 現在主流的做法還是awk和sed處理文件, 功能強 安全

② centos怎麼用shell讀取資料庫

用MySQL命令
mysql -umyuser -pmypass -e "select id, email from mail"

③ shell操作資料庫

mysql -hhostname -Pport
-uusername -ppassword -e
相關mysql的sql語句,不用在mysql的提示符下運行mysql,即可以在shell中操作mysql的方法。

#!/bin/bash

HOSTNAME="192.168.111.84"
#資料庫信息

PORT="3306"

USERNAME="root"

PASSWORD=""

DBNAME="test_db_test"
#資料庫名稱

TABLENAME="test_table_test"
#資料庫中表的名稱

#創建資料庫

create_db_sql="create
database IF NOT EXISTS ${DBNAME}"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} -e "${create_db_sql}"

#創建表

create_table_sql="create
table IF NOT EXISTS ${TABLENAME} ( name varchar(20), id int(11) default 0
)"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${create_table_sql}"

#插入數據

insert_sql="insert into
${TABLENAME} values('billchen',2)"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${insert_sql}"

#查詢

select_sql="select * from
${TABLENAME}"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${select_sql}"

#更新數據

update_sql="update
${TABLENAME} set id=3"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${update_sql}"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${select_sql}"

#刪除數據

delete_sql="delete from
${TABLENAME}"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${delete_sql}"

mysql -h${HOSTNAME}
-P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e
"${select_sql}"

④ 求一份shell腳本,需求是:從Oracle資料庫中提取一個表中的數據輸出到文件,並且每條記錄一行;

應用spool命令,大量數據匯出很方便,腳本內容大致如下:
--============================================
#!/bin/sh
#第一步
sqlplus -s 用戶名/密碼@服務名<<EOF
spool customers.sql --輸出文件路徑及名稱
set trimspool on
set linesize 8000
set pagesize 50000
set newpage 1
set heading off
set term off
set feedback off
set sqlblankline off
SELECT A || '|+|' || --欄位A
B || '|+|' || --欄位B
C || '|+|' || --欄位C
D || '|+|' || --欄位D
E || '|+|' || --欄位E
F || '|+|' || --欄位F
G || '|+|' || --欄位G
TO_CHAR(H,'YYYYMMDD HH:MM:SS') || '|+|' --欄位H,可以使用函數
FROM CUSTOMERS;--表名
spool off
exit
EOF
--=======================
其中'|+|'為分隔符,也可以換成你說的逗號,即','。調用該腳本後,在根目錄下生成customers.sql文件。

⑤ 如何在shell 下 查詢資料庫內容

db2connectto[dbname]

db2"selectmin(a)fromb;">t.txt

db2terminate

date=`catt.txt|tail-2|head-1`

echo$date

⑥ 求個shell獲取資料庫表值並指向輸出的方法

mysql -uroot -p123456 -e "select * from db.table" >> out.txt

⑦ shell 如何循環讀取命令的執行結果

for i in `ls`
do
echo $i
done

⑧ shell 操作hirdb資料庫,得到查詢結果。

|sql文改成 select "count:",count(*) from custom;
抽出的結果用grep命令處理
cat count_sql.txt | grep "count:" | awk '{print $2}'
大概是這樣,如果得到的結果里有兩行包括內"count:" ,那就容稍微改下
cat count_sql.txt | grep "count:" | tail -1 | awk '{print $2}'

⑨ shell腳本判斷mysql所有資料庫的表數據是否相等

連接資料庫首先、、
v=$(mysql -u$user -p$pass -D $db -e "select count(*) from user;")
判斷 host 是否為0 就可以
if [ $v -eq 0 ]
then echo "NOT EXISTS"
fi

熱點內容
塗鴉論文 發布:2021-03-31 13:04:48 瀏覽:698
手機資料庫應用 發布:2021-03-31 13:04:28 瀏覽:353
版面217 發布:2021-03-31 13:04:18 瀏覽:587
知網不查的資源 發布:2021-03-31 13:03:43 瀏覽:713
基金贖回參考 發布:2021-03-31 13:02:08 瀏覽:489
懸疑故事範文 發布:2021-03-31 13:02:07 瀏覽:87
做簡單的自我介紹範文 發布:2021-03-31 13:01:48 瀏覽:537
戰略地圖參考 發布:2021-03-31 13:01:09 瀏覽:463
收支模板 發布:2021-03-31 13:00:43 瀏覽:17
電氣學術會議 發布:2021-03-31 13:00:32 瀏覽:731