Hi,
Does anyone know of a perl module or other code that can look at a text file (CSV, tab-delim etc..) of data and determine a MySQL table definition from it?
The data may or may not have a set of column headers as the first line.
You can use the guess_table.pl utility that's part of the software distribution that accompanies MySQL Cookbook. The distribution is available at:
http://www.kitebird.com/mysql-cookbook/
Follow the Downloads link, grab the recipes distribution, unpack it, and look in the transfer directory.
It requires tab-delimited data. For other formats, you may be able to use the cvt_file.pl util that's in the same directory to convert them to tab-delimited.
% guess_table.pl --help Usage: guess_table.pl [options] [data_file]
Options:
--help
Print this message
--labels, -l
Interpret first input line as row of table column labels
(default = c1, c2, ...)
--lower, --upper
Force column labels to be in lowercase or uppercase
--quote-names
Quote table and column names with `` characters (in case they are
reserved words)
--report , -r
Report mode; print findings rather than generating a CREATE
TABLE statement
--table=tbl_name, -ttbl_name
Specify table name (default = t)
I would appreciate it greatly if anyone could give me any pointers to existing stuff as I have to implement this function (and I don't particularly like spending my time painfully churning out regexps if it's not absolutely necessary!! :)
Cheers,
Andrew
SQL, Query
-- Paul DuBois, Senior Technical Writer Madison, Wisconsin, USA MySQL AB, www.mysql.com
Are you MySQL certified? http://www.mysql.com/certification/
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
