怎么用shell读取mysql的返回值?

发布时间 : 08-03

本文介绍 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':'\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 下。

string转换为json?

string转json有三种方法第一种:string直接转json第二种:将string转为list后转为json可以使用list的add函数将需要的字符串拼接即可,但是这个只能使用jsonarry第三种:将string转为map后转为jsonMapmap = new HashMap();map.put("1", "abc");map.put("2", "efg");JSONArray array_test = new JSONArray();array_test.add(map);JSONObject jsonObject = JSONObject.fromObject(map);这里使用map就可以将字符串转化为JSONArray或者JSONObject都可以,但是这里的键不能使用int型

Java常用,的数据库有哪些?

Java可实现与绝大多数主流数据库的连接与操作。

日常企业开发以使用开源数据库居多。

1)、MySQL数据库是目前使用最广泛最好的免费开源数据库

2)、MariaDB数据库是MySQL的一个分支,保持与MySQL的高度兼容性,确保具有库二进制奇偶校验的直接替换功能,以及与MySQL API和命令的精确匹配,并从MySQL迁移

3)、PostgreSQL数据库采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式。PostgreSQL拥有非常完美的驱动,并支持标准的ANSI-SQL和扩展功能

其他还有高付费性产品如Oracle、SQLServer。

文章推荐:

怎么用shell读取mysql的返回值?

零基础想学习java,应该从哪学起?

js和jquery的用法区别(原生js和jquery的区别)

php返回json数据交给js(thinkphp返回json数据)

前端开发如何包装可重用的JavaScript代码?