如何把mysql的列修改成行显示数据简单实现

接下来用 import_table 来实现上面的需求,定制化字段 r2 和 r5:以上 Options 选项,见下图:我来具体解释下上图的含义:蓝色字体 columns 对应的数组分别指定数据文件中的每行字段,也就是默认的 TAB 分隔符所分割的每列值,1 和 2 代表占位符,1 代表数据文件中每行的第一个列,2 代表数据文件...
如何把mysql的列修改成行显示数据简单实现
在MySQL数据库修改字段名方法:
1、语句:alter table student change physics physisc char(10) not null。
2、其中char(10) not null是你physisc字段的create_definition。2017-08-21
import_table(importTable) 的延申功能:可定制化行输入。
import_table(importTable) 我们之前有介绍过,是一款并行导入各种格式文本的工具,封装了 MySQL 语句 load data local infile。
比如说要导入一个以 TAB 为分隔符的文本数据文件:/tmp/sample_ytt.txt 到表:ytt_new.t1,可以执行下面语句:

上面结果是 load data infile 语句的导入结果。如果改用 import_table 方法来做同样的事情,基于 Python 语法,使用方法如下:

那接下来看另外一个需求:在导入文本文件时对每行做预处理(例如在导入数据之前更改列 r2 的值为 mod(r1,10),列 r5 的值为 abs(r4-46) ),这样可以减少导入后再次处理的时间开销。
这个需求用 load data infile 语句非常容易实现:(导入时更改列 r2 和 r5 的数据,类似 UPDATE 语法)

那如果要用 util.import_table(importTable) 来实现上面的需求,在 MySQL 8.0.22 之前是没办法的。
随着 MySQL 8.0.22 的发布,MySQL 对 import_table 方法做了些扩充功能,其中增加了一个选项 “decodeColumns” 可以实现字段的预先输入定制化功能,并且还可以更加丰富。
接下来用 import_table 来实现上面的需求,定制化字段 r2 和 r5:

以上 Options 选项,见下图:

我来具体解释下上图的含义:蓝色字体 columns 对应的数组分别指定数据文件中的每行字段,也就是默认的 TAB 分隔符所分割的每列值,1 和 2 代表占位符,1 代表数据文件中每行的第一个列,2 代表数据文件中每行的第四列,decodeColumns 字典分别对需要预先输入的字段做处理。比如 r1 字段保留为变量 @1,r2 字段对应 mod(r1,10) 等。
如果还是不太理解变换规则,可以临时打开 general log, 上面 import_table(importTable)对应的 MySQL 日志为:

以上日志写的很清楚,内部转换为最基本的load data infile语法。
那这里我简单解读了下 MySQL 8.0.22 对 MySQL Shell 的一项定制化输入文本文件的新特性,更多的新特性可以继续关注。
2021-02-23
mengvlog 阅读 11 次 更新于 2025-07-21 01:00:41 我来答关注问题0
  • import_table(importTable) 我们之前有介绍过,是一款并行导入各种格式文本的工具,封装了 MySQL 语句 load data local infile。比如说要导入一个以 TAB 为分隔符的文本数据文件:/tmp/sample_ytt.txt 到表:ytt_new.t1,可以执行下面语句:上面结果是 load data infile 语句的导入结果。如果改用 impor...

  •  Excel大咖分享秀 SQL 行列互换(有多列数据,只需其中的两列转成行),求大神指导一下?

    这个问题用Excel做来秒出,如果数据量不是很大可以考虑用excel来做。

  •  文暄生活科普 nginx已安装完毕rpm安装如何再添加第三方模块nginx.rpm安装

    1.在/home下新建mysql目录。将mysql压缩包传入到该文件下。 2.首先先查看是否已经安装了mysql,执行命令rpm-qa|grepmysql 3.如果什么都没显示说明没有安装过,如果已经安装了Mysql就先卸载执行命令rpm-e--nodepsxxxxxxxx(xxxxxx为已经安装的rpm) 4.查看是否安装mariadb系统自带的,之前安装的时候和mysql冲突,所有不用...

檬味博客在线解答立即免费咨询

mySQL相关话题

Copyright © 2023 WWW.MENGVLOG.COM - 檬味博客
返回顶部