这里需要用到的工具叫做sqlcmd.exe, 它随SQL server的安装而安装. 该可执行程序的位置在:
C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn
其中xxx是你所安装的SQL Server的版本号.
Version Number
SQL Server 2005 90
SQL Server 2008 100
在SQL 2014中它的位置在:
C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\110\Tools\Binn
貌似是跟着Client SDK一起被安装的.
sqlcmd.exe的位置是被加入了环境变量了的, 所以可以在任何路径下直接调用. 可以通过下面的命令来查看环境变量.
Set | more
可以用以下的方式使用sqlcmd:
命令行中直接交互式执行sql语句
命令行中制定所需执行sql语句的脚本文件和输出文件
这里再给出一个sqlcmd中直接运行命令的截图, 除了脚本之外, 这样也可以更直观的与SQL Server进行交互.
❷ shell中调用sql 语句,再将结果返回shell作为变量
1、用sqlldr把数据导出到文件中。
2、再从文件中把数据读出来。
※我们实际项目中是这么做的。
--
以上,希望对你有所帮助。
❸ SHELL脚本如何处理sql执行结果
pid id
1 2
1 3
1 4
1 5
2 3
2 4
3 5
存放在6.txt中,可以用工具将数据转换为SQL,然后拷贝到执行SQL的工具中执行
cat6.txt|awk'NR>1{printf("insertintotable_name(pid,id)values("%s","%s"); ",$1,$2);}'
输出:
insert into table_name (pid,id) values ("1","2") ;
insert into table_name (pid,id) values ("1","3") ;
insert into table_name (pid,id) values ("1","4") ;
insert into table_name (pid,id) values ("1","5") ;
insert into table_name (pid,id) values ("2","3") ;
insert into table_name (pid,id) values ("2","4") ;
insert into table_name (pid,id) values ("3","5") ;
如果需要插入在一个事务中完成,可以视数据库类型自己在SQL前后增加
begin
commit
这类语句。
❹ shell执行mysql语句后怎么得到得到返回的结果
本文介绍 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 下。
❺ shell脚本执行.sql文件
<script type="text/javascript">
Leaf leaf = new Leaf("Leaf D");
root.Add(leaf);
root.Remove(leaf);
root.Display(1);
Console.Read();
}
❻ linux怎么执行sql文件命令
以下举个例子,在shell下执行sql命令然后马上回到shell.
其中mysql密码和账号都是www
$
mysql
-uwww
-pwww
-hlocalhost
-e
"show
databases;"
+--------------------+
|
database
|
+--------------------+
|
information_schema
|
+--------------------+
$
如果要执行不止一条命令,则可以先写到一个文件中,然后再用输入重定向完成。比如我可以把sql指令都写到/tmp/sqltest中然后
$
mysql
-uwww
-pwww
-hlocalhost
<
/tmp/testsql
database
information_schema
$
#注:为方便,我
testsql
中还是只有一条命令,还是
show
databases;
❼ 请教,shell如何取得sql执行的返回值
shell如何取得sql执行的返回值
个人用过的有两个办法: (1)利用变量(可以是数组)接收 (2)利用文件接收(将执行结果倒入某文件,然后读取该文件)
❽ 如何在shell脚本中,判断一个基本命令执行是否成功
1.连接到相应的Linux主机,进入Linux命令行状态,等待shell命令的输入。
❾ shell脚本执行sql传出结果
shell脚本执行sql需要输出结果,可以在shell脚本中写入语句,执行完成sql语句后,结果定向输入到一个txt文本文件中,再把txt文本文件存放在固定的文件夹中即可。
❿ 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;