Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用mySQL导入固定宽度文件_Mysql_Sql - Fatal编程技术网

使用mySQL导入固定宽度文件

使用mySQL导入固定宽度文件,mysql,sql,Mysql,Sql,我最近开始使用SQL,我有一个固定宽度的文本文件,其内容如下: 122000093738930 Q2334GH467829749 567892390DFG2333 ... ... ... 我想将它们导入MySQL数据库,并使用FWF文件中的每个条目创建列。假设这些列看起来像: C1 C2 C3 12200 0093738 8930 Q2334 GH46782 9749 有谁能帮我实现这一点吗?首先创建一个表名all_data,其中包含一列数据,例如data”,并将上述数据

我最近开始使用SQL,我有一个固定宽度的文本文件,其内容如下:

122000093738930
Q2334GH467829749
567892390DFG2333
...
...
...
我想将它们导入MySQL数据库,并使用FWF文件中的每个条目创建列。假设这些列看起来像:

C1    C2      C3

12200 0093738 8930

Q2334 GH46782 9749

有谁能帮我实现这一点吗?

首先创建一个表名
all_data
,其中包含一列数据,例如
data”,并将上述数据加载到此表中。之后,创建一个新的表名
data\u split
,包含3列,例如
a
b
c`。然后将数据加载到如下表中

insert into data_split(a,b,c) select substr(data,1,5),substr(data,6,8),substr(data,12,4) from data;

每一列的长度都是固定的吗?你能检查一下我发布的答案并告诉我这是否正确吗?
LOAD DATA INFILE '/path/'
INTO TABLE abc
(@row)
SET C1= TRIM(SUBSTR(@row,1,5)),
    c2= TRIM(SUBSTR(@row,6,12)),
    C3= TRIM(SUBSTR(@row,13,16))
;