shell批量执行sql
可以在命令编辑器或者Windows 的DB2 命令窗口或者 linux 的shell 中执行SQL 脚本。在windows 的DB2 命令窗口或者 linux 的shell 中执行SQL语句,可以使用下面的命令执行script1.sql脚本:
db2 -t -v -f script1.sql -z script1.log
或者:
db2 –tvf script1.sql –z script1.log
在上面的命令中,
-t 表示语句使用默认的语句终结符——分号;
-v 表示使用冗长模式,这样 DB2 会显示每一条正在执行命令的信息;
-f 表示其后就是脚本文件;
-z 表示其后的信息记录文件用于记录屏幕的输出,方便以后的分析(这是可选的,但我们建议使用该选项)。
当使用了-t选项而没有标明语句终结符,则分号(;)会默认为语句的终结符。有时可能会出现使用另外的终结符的情况,例如用SQL PL 编写的的脚本使用其它的符号而不是默认的分号,因为分号在SQL PL 是用于定义数据库对象过程中的语句结束。
2. shell脚本中怎样同时执行多个.sql文件,并把结束写入文件中
因为one.sql主要做一些update工作,two.sql是查询验证,要把查到的数据写到文件中email给自己,
#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"
mysql-u$USER$DATABASE--html--default-character-set=utf8<one.sql>/tmp/check.html
mysql-u$USER$DATABASE--html--default-character-set=utf8<two.sql>>/tmp/check.html
3. shell脚本执行sql传出结果
shell脚本执行sql需要输出结果,可以在shell脚本中写入语句,执行完成sql语句后,结果定向输入到一个txt文本文件中,再把txt文本文件存放在固定的文件夹中即可。
4. shell脚本里执行多个sql语句问题
你没有理解输入重定向的概念。在你上面的代码中,mysql -uDDAP -p$2是包含在输入重定向范围内的,所以不会提示你输入密码的。
你的$1 和$2也没有定义,可以参考如下写法:
#!/bin/sh
read -p "please input root password" pwd
mysql -uroot -p$pwd << EOF
\. /usr/src/DDAP-1.CreateUser.SQL
\. /usr/src/DDAP-2.CreateDatabase.SQL
\. /usr/src/DDAP-3.CreateTable.SQL
\. /usr/src/DDAP-4.CreateProcereAndFunction.SQL
\. /usr/src/DDAP-5.CreateData.SQL
EOF
5. LINUX下shell脚本如何执行 sql脚本 到DB2数据库
1、在gedit中编写.sh格式的文件,保存为a.sh。
6. 如何在mysql shell命令中执行sql命令行
本文介绍 MySQL 8.0 shell 子模块 Util 的两个导入特性 importTable/import_table(JS和python 版本的命名差异)、importJson/import_json的使用方法。
其中 import_table 是通过传统 MySQL 协议来通信,Import_json 是通过 X 插件协议来通信。MySQL 一直以来提供导入文件 SQL 命令 load data infile(单线程)以及对应的可执行文件 mysqlimport(多线程)。
比如我导入 100W 行示例数据到表 ytt.tl1,花了 24 秒。这个已经是 MySQL 默认导入来的最快的。分析那我们现在看下 mysqlimport 工具的升级版,mysqlshell 的 util 工具集。
使用这两个工具之前,必须得临时开启 local_infile 选项。1. import_table建立 3306 端口的新连接我这里切换为 python 模式清空掉示例表 Ytt.tl1import_table 有两个参数,第一个参数定义导入文件的路径,第二个定义相关选项,比如导入的格式,并发的数量等。定义文件路径(参数1)定义选项(参数2)执行导入:只花了不到 17 秒,比传统 mysqlimport 快了不少。
我们上面指定了显式指定了字段分隔符,那有没有已经定义好的组合格式呢? 答案是有的,选项 dialect 可以指定以下格式:csv,tsv,json,csv-unix那么上面的导入,我们可以更简单,改下变量 y_options1 的定义导入时间差不多。这里要说明下,dialect 选项的优先级比较低,比如添加了'linesTerminatedBy':' ', 则覆盖他自己的' '。
选项 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 下。
7. shell脚本中怎样同时执行多个.sql文件,并把结束写入文件中
因为one.sql主要做一些update工作,two.sql是查询验证,要把查到的数据写到文件中email给自己,
#!/bin/bash
USER="root"
DATABASE="test"
TABLE="user"
mysql -u $USER $DATABASE --html --default-character-set=utf8 < one.sql > /tmp/check.html
mysql -u $USER $DATABASE --html --default-character-set=utf8 < two.sql >> /tmp/check.html
8. linux shell执行sql
1.shell中执行sql
export ORACLE_SID=ORCL
sqlplus -S /nolog @/home/oracle/test.sql #注意此处执行sql脚本的方法 -S 表示以静默方式执行
exit
2.test.sql中要加入连接
conn scott/tiger@orcl
set time on
.......
exit;
9. shell脚本中怎样同时执行多个.sql文件,并把结束写入文件中
#!/bin/bash
myFile=/path/filename
cat $myFile | while read line
do
echo "$line" #输出整行内容
echo "$line" | awk '{print $1}' #输出每行第一个字段
done 以上是示例,根据你的需要自己修改吧。