使用linux shell脚本将转储数据插入Mysql

使用linux shell脚本将转储数据插入Mysql,mysql,linux,shell,Mysql,Linux,Shell,我使用下面的脚本从textpad向sql插入数据 #!/bin/bash mysql --utest -ptest test << EOF LOAD DATA INFILE 'test.txt' INTO TABLE content_delivery_process FIELDS TERMINATED BY ','; EOF 我可以插入,但我需要如下格式 S.NO | date | name | buy | ca

我使用下面的脚本从textpad向sql插入数据

#!/bin/bash

mysql --utest -ptest test << EOF

LOAD DATA INFILE 'test.txt'
    INTO TABLE content_delivery_process
    FIELDS TERMINATED BY ',';

EOF
我可以插入,但我需要如下格式

 S.NO    |   date    |    name    |    buy    |    cast

可以指定要导入的列:

从MySQL手册:

以下示例加载persondata表的所有列:

LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata;
默认情况下,加载结束时未提供列列表 数据填充语句,输入行应包含 每个表列

如果只想加载表的某些列,请指定一列 名单:

如果字段在列表中的顺序不同,则还必须指定列列表 输入文件与表中列的顺序不同。 否则,MySQL无法判断如何将输入字段与表匹配 列

您将包括以“|”结尾的字段;最后,导入以“|”符号分隔的数据。

希望这有帮助

create table [YOUR TABLE]  ( `S.NO` INT AUTO_INCREMENT, date DATETIME, name VARCHAR(50), buy VARCHAR(50), cast VARCHAR(50));
Load data local infile 'test.txt' ignore into table  [YOUR TABLE] fields terminated by ',' lines terminated by '\n'(cast , date , name , buy);

谢谢你,特隆。我知道了,但插入后我有一些问题。在此表中,我还添加了S.编号。但在检查过程中,我运行了两次脚本。听说我只在S.No.1,2,3,4->第一次运行脚本1,2,3,4,6,7,8,9->第二次时才出来。请帮这个为什么那个gap5?谢谢。在load命令之后,您是否使用以下命令检查了警告:SHOW warnings查看您的任何行在导入时是否有问题?
LOAD DATA INFILE 'persondata.txt' INTO TABLE persondata (col1,col2,...);
create table [YOUR TABLE]  ( `S.NO` INT AUTO_INCREMENT, date DATETIME, name VARCHAR(50), buy VARCHAR(50), cast VARCHAR(50));
Load data local infile 'test.txt' ignore into table  [YOUR TABLE] fields terminated by ',' lines terminated by '\n'(cast , date , name , buy);