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__;
戻る
德格县|
曲周县|
故城县|
聂拉木县|
轮台县|
宁化县|
射洪县|
元阳县|
德化县|
彰化县|
恩平市|
高邮市|
曲靖市|
高淳县|
夏邑县|
阿巴嘎旗|
呼玛县|
晋宁县|
施秉县|
盖州市|
汝南县|
白银市|
界首市|
城口县|
闵行区|
枝江市|
阿坝县|
鸡泽县|
克拉玛依市|
岳阳县|
乐业县|
突泉县|
休宁县|
安远县|
青州市|
太康县|
韶关市|
陆河县|
宜昌市|
法库县|
乌拉特前旗|