【发布时间】:2020-08-13 15:54:44
【问题描述】:
我有一个文件,比如说data.csv,它正在进入我的服务器,我想使用mysqlimport 将它导入到MySQL 数据库中的data 表中。
我的问题是,这个文件的数据比我实际想要导入的要多得多。它被我之前的另一台服务器使用,它需要所有这些数据,但我只需要它的少数列。
有没有办法指定我希望mysqlimport 使用哪些列?
我认为它看起来像
mysqlimport --columns="field_1","field_2","field_42","field_31","field_16","field_4" db data.csv
但该表只包含文件的前 6 个字段。如果需要,我可以重新排列表格,以便我想要的字段按顺序排列(即,我将运行 --columns="field_1","field_2","field_4","field_16",...)。
我隐约知道这可以使用sed 来完成,但我很好奇mysqlimport 是否原生支持它?
编辑: 接受的答案并不完全是我所希望的,但我认为答案是,“不,遗憾的是它不支持它”。无论如何,请查看接受的答案和 cmets 以获得解决方法!
【问题讨论】:
标签: mysql linux bash mysqlimport