当前位置:首页 » 参考文献 » 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