
DATE=`date +%y%m%d`
PART="glc_location_msg_$DATE"
select count() from glc_location_msg partition($PART);
我不知道你的语句为什么会产生重复的结果,最好检查一下你的代码。关于将语句输出赋值到变量的问题请你参照一下我测试的这份代码
get_msisdn()
{
echo -e "
set feedback off;\n
set pagesize 0;\n
spool resultlog;\n
select prono from pltbassignp where model = 'ZFN';\n
spool off;\n
exit;
" > querysql
sqlplus pl/oracle@mydb @querysql|head -0
result=`cat resultlog`
echo ${result}
exit
}
get_msisdn
它首先设置输出的格式如set feedback off; set pagesize 0;,然后将语句的输出指定到文件resultlog,最后使用cat命令将结果显示并赋值给变量result。
while read enabledate
do
__aa=$enabledate;
done
echo "$__aa";
你没有理解输入重定向的概念。在你上面的代码中,mysql -uDDAP -p$2是包含在输入重定向范围内的,所以不会提示你输入密码的。
你的$1 和$2也没有定义,可以参考如下写法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\ /usr/src/DDAP-1CreateUserSQL
\ /usr/src/DDAP-2CreateDatabaseSQL
\ /usr/src/DDAP-3CreateTableSQL
\ /usr/src/DDAP-4CreateProcedureAndFunctionSQL
\ /usr/src/DDAP-5CreateDataSQL
EOF
本文介绍 MySQL 80 shell 子模块 Util 的两个导入特性 importTable/import_table(JS和python 版本的命名差异)、importJson/import_json的使用方法。
其中 import_table 是通过传统 MySQL 协议来通信,Import_json 是通过 X 插件协议来通信。MySQL 一直以来提供导入文件 SQL 命令 load data infile(单线程)以及对应的可执行文件 mysqlimport(多线程)。
比如我导入 100W 行示例数据到表 ytttl1,花了 24 秒。这个已经是 MySQL 默认导入来的最快的。分析那我们现在看下 mysqlimport 工具的升级版,mysqlshell 的 util 工具集。
使用这两个工具之前,必须得临时开启 local_infile 选项。1 import_table建立 3306 端口的新连接我这里切换为 python 模式清空掉示例表 Ytttl1import_table 有两个参数,第一个参数定义导入文件的路径,第二个定义相关选项,比如导入的格式,并发的数量等。定义文件路径(参数1)定义选项(参数2)执行导入:只花了不到 17 秒,比传统 mysqlimport 快了不少。
我们上面指定了显式指定了字段分隔符,那有没有已经定义好的组合格式呢? 答案是有的,选项 dialect 可以指定以下格式:csv,tsv,json,csv-unix那么上面的导入,我们可以更简单,改下变量 y_options1 的定义导入时间差不多。这里要说明下,dialect 选项的优先级比较低,比如添加了'linesTerminatedBy':'\r\n', 则覆盖他自己的'\n'。
选项 diaelect 还有一个可选值为 json,可以直接把 json 结果导入到文档表里。比如我新建一张表 tl1_json重新定义文件以及导入选项。导入 JSON 数据速度也还可以,不到 24 秒。那导入 json 数据,就必须得提到以 X 插件协议通信的工具 import_json了。2 imort_json我们切换到 mysqlx 端口import_json 参数和 Import_table 参数类似,这里我改下选项我在手册上没有看到多线程的选项,所以单线程跑 35 秒慢了些。查看刚刚导入的数据import_json 不仅仅可以导入 Json 数据,更重要的是可以在 BSON 和 JSON 之间平滑的转换,有兴趣的同学可以去 TRY 下。
以上就是关于在shell脚本里执行SQL语句,里面涉及到日期的问题,如何实现全部的内容,包括:在shell脚本里执行SQL语句,里面涉及到日期的问题,如何实现、shell脚本中sql语句得到一个值,赋值给变量出错、想写个shell脚本,获取到SQL中查询到的字段的值,赋给shell脚本中定义的变量,写入文件du.txt中.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)