develooper Front page | perl.beginners | Postings from March 2002

DBI-> connect load datafile ?

Thread Next
Brian Volk
March 5, 2002 21:44
DBI-> connect load datafile ?
Message ID:
      Hi All,

I'm having trouble loading a datafile into MySQL database via perl.  I 
have a couple of scripts working but I get stuck when I try to load a 
file....  Here is what I have so far...  How far off am I?? :-)     

 $dbh->do("load data local infile $dbh->quote(/home/misc/cell_sql.csv) 
into table use_perl");

-------------------- this example works --------------------------------


      use strict;
      use DBI();

      # Connect to the database.
      my $dbh = DBI->connect("DBI:mysql:database=test;host=localhost",
                             "username", "password",
                             {'RaiseError' => 1});

      # Drop table 'foo'. This may fail, if 'foo' doesn't exist.
      # Thus we put an eval around it.
      eval { $dbh->do("DROP TABLE foo") };
      print "Dropping foo failed: $@\n" if $@;

      # Create a new table 'foo'. This must not fail, thus we don't
      # catch errors.
      $dbh->do("CREATE TABLE foo (id INTEGER, name VARCHAR(20))");

      # INSERT some data into 'foo'. We are using $dbh->quote() for
      # quoting the name.
      $dbh->do("INSERT INTO foo VALUES (1, " . $dbh->quote("Tim") . ")");

      # Same thing, but using placeholders
      $dbh->do("INSERT INTO foo VALUES (?, ?)", undef, 2, "Jochen");

      # Now retrieve data from the table.
      my $sth = $dbh->prepare("SELECT * FROM foo");
      while (my $ref = $sth->fetchrow_hashref()) {
        print "Found a row: id = $ref->{'id'}, name = $ref->{'name'}\n";

      # Disconnect from the database.



Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About