2012年11月23日 星期五

把excel的資料轉到MySQL中

因爲公司的一些資料(excel)要轉到MySQL因此寫了個小小的awk應用

首先要把excel中的資料的欄位跟MySQL中的資料表作好對應

MySQL的欄位有

1.單號

2.品名

.....(N項欄位)

因此Excel中也要對應以上欄位

第一步 對應欄位

第二步 Excel存成CVS檔

第三步 建一個awk用的script,如下所示

{ FS = "," },{ printf("INSERT INTO dbname.tablename /x85單號,品名/x86 VALUE /x85/'%s/',/'%s/'/x86",$1,$2) }

以上用printf的部分可以參考C語言中printf的説明

/x85表( 左括弧

/x86表) 右括弧

/' 表示字元'

第四步 轉換啦

awk -f 剛冩的script檔名 Excel.csv > 要轉的檔名.sql

第五步 匯入MySQL

mysql -u root -p < 要轉的檔名.sql

基本上這様是因爲MySQL中有資料,用這樣的方式來増加資料

其實Linux中如果把sed,awk,grep等

弄很熟那處理可真方便