Perl

インポート方法

  1. データベース、ユーザ名、パスワードの設定
    • mysql -u root -p
    • create database データベース名;
    • grant all on データベース名.* to ユーザ名@localhost identified by 'パスワード';
    • flush privileges;
  2. 作成したファイルをインポート
    • mysql xxxdb < xxxdb.sql -u DBユーザ名 -p

GSKの地名辞書をMySQLに格納する

	$file = $fileout = "chimei-utf8.csv";
	$fileout  =~ s/csv$//;
	$fileout .=  "sql";
	open(IN,"$file");
	open(OUT,">$fileout");
	print OUT <<EOF;
	CREATE TABLE `PlaceName` (
	`id0` TEXT NOT NULL ,
	`id1` TEXT NOT NULL ,
	`id2` TEXT NOT NULL ,
	`id3` TEXT NOT NULL ,
	`id4` TEXT NOT NULL ,
	`id5` TEXT NOT NULL ,
	`id35` TEXT NOT NULL ,
	`id36` TEXT NOT NULL ,
	`id37` TEXT NOT NULL ,
	`id38` TEXT NOT NULL
	) ENGINE = MYISAM ;
	EOF
	while(<IN>){
	  chomp;
	  chop;
	  undef $content;
	  @tmp = split(/,/,$_);
	  for($i=0;$i<=5;$i++){
	    $content .= "\"$tmp[$i]\",";
	  }
	  for($i=35;$i<=38;$i++){
	    $content .= "\"$tmp[$i]\",";
	  }
	  chop $content;
	  print OUT "INSERT INTO `PlaceName` VALUES ($content);\n";
	}
	close(OUT);
	close(IN);