エクセルシートから、mysql へ、変換する際の手順
① DBの作成
データベースの作成は、mysqlでも可能ですが、面倒なので phpmyadmin でやる
※ この時、データベース名の横にある空欄になっている部分での 文字コードの設定を忘れない事!
必ず utf8_unicode_ci を選択する
② フィールドの作成
空のままだと、読み込みができないので、前もってフィールドを生成しておく必要がある
# mysql -u ytest -pytest
> use ytest
ここまでで 接続確立
エクセルファイルの列毎にフィールド化する必要がある
VARCHAR(80) —> 80文字の文字列
INTEGER ——> 整数 桁数の省略可
FLOAT ———> 小数点 桁数省略可
その他のフィールドタイプも存在する
以下 エクセルの列からフィールド構成を作って登録する例
>Create Table ytest (
KeyWord VARCHAR(80),
MuchType VARCHAR(80),
CP_name VARCHAR(80),
AG_name VARCHAR(80),
QtyIndex INTEGER(10),
TPBTPrice INTEGER(10),
TPBPrice INTEGER(10),
NOI INTEGER(10),
NOC INTEGER(10),
CRR FLOAT(10),
AP FLOAT(10),
Cost INTEGER(10),
AvgCPC FLOAT(10),
AdIDExt VARCHAR(80),
NumID INTEGER(10),
SumCord INTEGER(10),
TACost INTEGER(10),
Data INTEGER(10),
Aplcb VARCHAR(80),
AvgClicks FLOAT(10),
TtlClicks INTEGER(10),
NoName VARCHAR(80) );
exit;
これで、フィールドができる
③ データの取り込み
mysql で csvデータの取り込みは以下の要領
# mysql -u ytest -pytest
> use ytest
ここまでで 接続確立
csvの読み込み
なぜかファイルの置き場は /var/lib/mysql/ytest 以下にしないと、ダメ
>LOAD DATA INFILE “yahoo-data-utf8.csv” INTO TABLE ytest FIELDS TERMINATED BY ‘,’ ENCLOSED BY ‘”‘;
壊れていないファイルが文字化けする唯一の原因は、
データベース作成時にセットした文字コードとファイルの文字コードの不一致