
variable=xxx
sqlplus -s dbuser/dbpas <<!
select from table where table_column=$variable;
exit;
!
是不是要这样脚本:
sqlplus -S system/system <<EOFset feedback off
set heading off
set pagesize 0
set linesize 200
set echo off
set termout off
spool txt/fbfjmxbtxt
select from ORD_PEO_TXNPCL WHERE SUBSTR(TRIM(YJHM),1,1)='9' AND TRUNC(CLDATE,'dd')=TRUNC(SYSDATE,'dd');
spool off
exit;
EOF
既然能执行select语句,update,delete,执行过程和函数是没有任何问题的。
在DB2数据库中,在导出DEL文件时,默认的字符分隔符是"、字段分隔符是, (逗号)。有一个需求是要为Oracle数据库提供数据,因此就想使用“|”作为数据的字段分隔符。在查看了export的使用说明后,发现export的file-mod模式中可以通过CHARDELx和COLDELx,分别设置字符分隔符和字段分隔符。
注意:导出文件的分隔符是和数据库的代码页有关联的,即在代码页为819的数据库下,可以使用任何的字符(ASCII码)作为数据的分隔符,但是代码页为1386的数据库只能使用ASCII码值在0x00 - 0x3F 范围内的字符。
首先,想在shell中连接数据库,首先要在连接数据的机器上安装mongodb的客户端才可以。
然后,连接mongodb的命令如下:
/home/test/mongodb/mongodb-223/bin/mongo 127001:8888
这个是我的数据库配置,没有设置用户名密码。所以直接通过该命令就可以连接。
连结后会有一个默认连接的数据库。
mongodb常用命令:
查看数据库命令:
show dbs;
查看集合命令:
show collections;
切换数据库:
use databaseName;
查询数据:
db集合名find()
插入数据:
db集合名insert({name:'test',age:1});
删除:
dbtestremove();
sql="dbtestinsert({name:'test',age:1});"//定义执行的sqlecho "$sql"|/home/test/mongodb/mongodb-223/bin/mongo 127001:8888/test --shell
注意,echo命令中的格式必须这样写,管线命令后面的是是数据库安装地址 然后是ip:端口号,斜线后是数据库名称,--shell表示通过shell交互!
-h 是远程连接访问mysql 127001 是本机ip
写入shell可以这样 :
mysql -u你的用户名 -p密码 <<END
mysql命令
exit;
END
/home/zyxf/BinaryConverter/BinaryConverter -af -h127001 -uroot -w123456 -d${db}
不清楚是什么 看表面意思像是将数据库转换成二进制保存的意思。 -af 这些应该是BinaryConverter 这个命令的参数你可以尝试man BinaryConverter来查看他。
你这最近修改有点模糊啊
使用find 命令查询最近修改的就好了
Mysql 我还不是很会,不过万能百度命令如下,
如果你的mysql里面没有数据库,先新建一个空的数据库abc, 然后用mysqldump -u 用户名 -p 密码 -B abc< asql 这个命令 就能把asql导入到数据库abc里了
如果还有不明白的私信我就好,看到会回复你
cd /data/apps/demo/>
find -name 'sql' -mtime 1 查找修改时间超过1天的sql 文件
#!/bin/sh
username="yourusername"
password="yourpassword"
dbname="yourdbname"
tablename="yourtablename"
cat wordtxt | while read line
do
{
field1=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f1-2}`
field2=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f3}`
field3=`echo $line | tr -d '['| tr -d ']'| cut -d' ' -f4}`
###################################################数据库输入
temp=`echo "describe $tablename" | mysql -u $username -p$password "$dbname" | sed '1d' | awk '{print $1}'`
head="INSERT INTO $tablename VALUES ("
tail=");"
tt=`
for loop in $temp
do
eval echo "\'"\\$$loop"\',"
done
`
value=`echo "$head$tt$tail"`
sql=`echo "$value" | sed 's/,)/)/g'`
echo "$sql" | mysql -u $username -p$password "$dbname"
}
done
####数据库自己建立,库名,表名,用户名,密码在开头自己定义,
###你数据库字段名分别为field1 field2 field3
以上就是关于如何把shell脚本的变量赋值给sql语句作为条件或插入数据的值全部的内容,包括:如何把shell脚本的变量赋值给sql语句作为条件或插入数据的值、如何在shell脚本中嵌入Oracle数据库 *** 作、如何用shell脚本把del格式文件导入的DB2数据库表中等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)