Guessing Table Structure from a Datafile
Problem
Someone gives you a datafile and says, “Here, put this into MySQL for me.” But no table yet exists to hold the data.
Solution
Write the CREATE TABLE
statement yourself. Or use a utility that guesses the table structure
by examining the contents of the datafile.
Discussion
Sometimes you need to import data into MySQL for which no table has
yet been set up. You can create the table yourself, based on any
knowledge you might have about the contents of the file. Or you may
be able to avoid some of the work by using
guess_table.pl,
a utility located in the transfer directory of
the recipes distribution.
guess_table.pl reads the datafile to see what
kind of information it contains, then attempts to produce an
appropriate CREATE TABLE
statement that matches the contents of the file. This script is
necessarily imperfect, because column contents sometimes are
ambiguous. (For example, a column containing a small number of
distinct strings might be a CHAR column or an
ENUM.) Still, it’s often easier
to tweak the statement that guess_table.pl
produces than to write the entire statement from scratch. This
utility also has a diagnostic function, though
that’s not its primary purpose. For example, you
might believe a column contains only numbers, but if
guess_table.pl indicates that it should be
created using a CHAR type, that tells you the
column contains at least one non-numeric value.
guess_table.pl assumes that its input is in tab-delimited, linefeed-terminated ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access