Field lengths determined by looking at the file. If any of them are wrong, please point it out as a comment and I can correct them.
rc int(1) unsigned NOT NULL,
ufi int(9) NOT NULL,
uni int(9) NOT NULL,
lat numeric(11,7) NOT NULL,
lon numeric(12,7) NOT NULL,
dms_lat varchar(7) NOT NULL,
dms_lon varchar(7) NOT NULL,
mgrs varchar(15) NOT NULL,
jog varchar(7) NOT NULL,
fc char(1) NOT NULL,
dsg varchar(5) NOT NULL,
pc int(1) unsigned,
cc1 varchar(2) NOT NULL,
adm1 varchar(2) NOT NULL,
adm2 varchar(128) NOT NULL,
pop int(9),
elev int(9),
cc2 varchar(2) NOT NULL,
nt varchar(2) NOT NULL,
lc varchar(3) NOT NULL,
short_form varchar(64) NOT NULL,
generic varchar(64) NOT NULL,
sort_name varchar(64) NOT NULL,
full_name varchar(255) NOT NULL,
full_name_nd varchar(255) NOT NULL,
modify_date date NOT NULL,
PRIMARY KEY(uni),
KEY(ufi)
http://earth-info.nga.mil/gns/html/help.htm
See also schema for domestic geonames
