List:General Discussion« Previous MessageNext Message »
From:Dan Nelson Date:November 18 2006 2:21am
Subject:Re: Importing Text File Into mySQL
View as plain text  
In the last episode (Nov 17), John Kopanas said:
> On 11/17/06, Dan Nelson <dnelson@stripped> wrote:
> >In the last episode (Nov 17), John Kopanas said:
> >> I have a text file with over 500K rows of data in it.  The problem
> >> is that the data is no seperated by commas but instead occupy a
> >> certain amount of characters.  So for instance:
> >>
> >> ID 1 -11
> >> NAME 12-50
> >> COMPANY_NAME 51-100
> >> ...
> >>
> >> How would you parse import this data into mysql?
> >
> >Create a table that matches your layout exactly, then
> >
> >LOAD DATA ...
> >FIELDS TERMINATED BY ''
> >FIELDS ENCLOSED BY '';
> >
> >It's mentioned in one of the comments at
> >http://dev.mysql.com/doc/refman/5.0/en/load-data.html
>
> I am trying to figure out how this would work?  How does LOAD DATA
> figure out when one column begins and another ends when some of the
> data are addresses with spaces in them?

It goes by the field widths in the table you're loading into.  So set
it up like:

id VARCHAR(10),
name VARCHAR(38),
company_name VARCHAR(49),

etc.  If you've got any numeric fields, you'll probably have to make
them varchars now, then convert them to numbers with an ALTER TABLE
later (unless your fields happen to hit the magic widths listed at 
http://dev.mysql.com/doc/refman/5.0/en/load-data.html ).  Actually,
using DECIMAL fields should work, since you can specify their widths.

-- 
	Dan Nelson
	dnelson@stripped
Thread
Importing Text File Into mySQLJohn Kopanas18 Nov
  • Re: Importing Text File Into mySQLBruce Ferrell18 Nov
  • Re: Importing Text File Into mySQLDan Nelson18 Nov
    • Re: Re: Importing Text File Into mySQLJohn Kopanas18 Nov
      • Re: Importing Text File Into mySQLDan Nelson18 Nov
  • Re: Importing Text File Into mySQLVisolve DB Team18 Nov