I parse a text file with the script below.
How to insert the array data to MySQL table?
I already learned Perl MySQL DBI connect method. And I can connect to local MySQL DB successfully. I can create the table with MySQL command line.
#!C:\Perl\bin\perl.exe
use strict;
use warnings;
while ( ) {
my @rocks = split(/\s+/, $_);
foreach my $rock (@rocks) {
$rock = "\t$rock "; # put a tab in front of each element of @rocks
$rock .= "\n"; # put a newline on the end of each
print $rock ;
}
}
__DATA__
A B C D
E F G H
I want the table browse result.
Item1 Item2 Itme3 Item4
A B C D
E F G H
解决方案use strict;
use warnings;
use DBI;
my $dbh = DBI->connect(
'DBI:mysql:database=test;host=localhost',
'root',
'YOUR_PASSWORD',
{ RaiseError => 1, AutoCommit => 1 },
);
my $sql = 'INSERT INTO foo (Item1,Item2,Item3,Item4) VALUES (?,?,?,?)';
my $sth = $dbh->prepare($sql);
while (){
chomp;
my @vals = split /\s+/, $_;
$sth->execute(@vals);
}
__END__
A B C D
E F G H