当前位置:首页 » 编程语言 » shell执行sql语句

shell执行sql语句

发布时间: 2022-03-14 10:57:47

1. 如何在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 下。


2. 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

3. 在shell脚本中使用 isql 执行SQL语句 查询sybase数据库中满足条件的记录条数,怎么把查询结果赋给变量

注意此处:
isql -U natuser -P zjtt@nat -S natdb <<END
如下供参考
·1 若要重定向到文件
isql -U natuser -P zjtt@nat -S natdb <<END >out.txt
即将查询结果重定向到out.txt文件中

·2若要输出至变量
isql -U natuser -P zjtt@nat -S natdb <<END |read xarg

·3若要循环输出至变量,可参照read方式类推

4. 如何在shell中运行sql语句

直接在shell运行mysql -uxxx -pxxx db -e "select * from xxx;"

5. 求一个linux下的shell脚本执行mysql的sql语句,但老是 不成功....大神帮忙啊...

简单的看了一下
第一,第六行a= awk 'NR==2{print $1}' testsss.log 这里是否没有加``,另外shell下赋值在等号两侧是不允许有空格的,这个不知道是不是你贴在里面显示的错误
第二,$sqlw取出来的应该就已经是id>3的了,那么你在for循环里的判断if [ "$num" -gt "3" ]应该进不去,所以循环里是不会走到if里去的,你可以在if外面打印一下$num的值看看。

6. LINUX的SHELL脚本中中执行数据库语句

TEST="db2updateTBL_DRP_DEPLOYsetSITE='BEIJING'whereREC_ID=1731andFUNC_ID='C0301016'"
$TEST

7. 在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

8. 在shell里面可以执行postgresql数据库的sql语句吗

你好, 不可以的。因为shell不是PostgreSQL的客户端, 当然不可以执行其SQL语句。 希望回答对您有帮助.

9. 如何在脚本中执行SQL语句并获得结果输出

这里需要用到的工具叫做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进行交互.

热点内容
脚本玩具 发布:2025-07-21 18:34:54 浏览:347
安卓10交互模式是什么 发布:2025-07-21 18:30:46 浏览:994
存储几层 发布:2025-07-21 18:20:18 浏览:262
安卓手机相册是哪个 发布:2025-07-21 18:15:13 浏览:542
c语言的fork函数 发布:2025-07-21 17:50:05 浏览:745
怎么给文件夹改名字叫什么 发布:2025-07-21 17:37:22 浏览:893
php发包 发布:2025-07-21 17:36:47 浏览:4
怎么配置mc服务器 发布:2025-07-21 17:35:37 浏览:998
androidjson接收 发布:2025-07-21 17:29:12 浏览:62
苹果手机短信加密 发布:2025-07-21 17:23:18 浏览:462