TXT TO SQL 変換1
戻る
C:\database\sql>mysql cookbook < owners.txt -u cbuser -p
Enter password: ******
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the ma
nual that corresponds to your MySQL server version for the right syntax to use n
ear '
company==>XXX
address==>201,YYY' at line 1
C:\database\sql>mysql cookbook < owners.sql -u cbuser -p
Enter password: ******
owners.txtではなく,owners.sqlです!
---------------------------------------------------------------
# txt2sql1.pl
use strict;
use Encode;
my(%t,$n,$n1,@fld);
@{ $t{name} } = qw/company address person telfax email homepage memo/;
# テキストファイルを入力
open(IN,"../sql/owners.txt") or die "Can't open the file owners.txt\n";
while(){
chop;
next if $. == 1;
@fld = split(/==>/);
next if (length($fld[0]) < 3 );
push(@{ $t{list}{$fld[0]} },$fld[1]);
}
close(IN);
# テーブルを生成
open(OUT,">../sql/owners.sql");
print OUT 'DROP TABLE IF EXISTS owners;',"\n";
print OUT 'CREATE TABLE owners', "\n";
print OUT '(',"\n";
print OUT "\t",'id INT AUTO_INCREMENT,',"\n";
print OUT "\t",'company CHAR(100),',"\n";
#print OUT "\t",'adderss CHAR(100),',"\n"; #Bug!
print OUT "\t",'address CHAR(100),',"\n";
print OUT "\t",'person CHAR(50),',"\n";
print OUT "\t",'telfax CHAR(100),',"\n";
print OUT "\t",'email CHAR(100),',"\n";
print OUT "\t",'homepage CHAR(100),',"\n";
print OUT "\t",'memo CHAR(100),',"\n";
print OUT "\t",'PRIMARY KEY (id)',"\n";
print OUT ');',"\n\n";
# データを挿入
for $n ( 0 .. $#{ $t{list}{company} } ) {
print OUT 'INSERT INTO owners (company,address,person,telfax,email,homepage,memo) VALUES("';
for $n1 ( 0 .. 5 ) {
$t{name1} = $t{name}[$n1];
$t{one} = $t{list}{$t{name1}}[$n];
if (length($t{one}) < 3 ) {
$t{one} = 'XXX';
}
print OUT $t{one},'","';
}
print OUT 'XXX")';
print OUT "\n";
}
__END__;
戻る
宁国市|
肃北|
时尚|
太仓市|
新昌县|
英超|
普陀区|
汶川县|
黄骅市|
敦化市|
吴堡县|
札达县|
盐津县|
册亨县|
奉节县|
台前县|
山东省|
海盐县|
巩义市|
渭南市|
波密县|
石门县|
嵊州市|
略阳县|
宁乡县|
巢湖市|
昔阳县|
琼海市|
炎陵县|
山阳县|
辽宁省|
略阳县|
阿勒泰市|
铜鼓县|
台湾省|
甘谷县|
江西省|
革吉县|
聂拉木县|
三原县|
丰都县|