【MySQL】mysqlimportを使ってファイルの情報を高速取込

MySQLにはファイルの情報を高速に取り込む仕組みがいくつかあります。

そのうちの一つとして、コマンドラインからmysqlに対してcsvの内容をインポートするmysqlimportの使い方をメモ。

注意点としては取り込むファイル名がそのままインポート先のテーブル名として暗黙的に使われるので、ファイル名とテーブル名を合わせおく必要がある。

MySQLのバージョンは5.6.22です。

 

CSVファイルの高速取込み

構文

$ mysqlimport -u [ユーザ] -p  --fields-terminated-by=[区切り文字] --lines-terminated-by=[改行文字] --ignore-lines=[無視する行数※1] --local [データベース名] [読み込むファイルのフルパス]

※1.最初の行がヘッタ行の場合など、先頭行を無視したい場合は「--ignore-lines」オプションを使い、先頭から数えて無視したい行数を指定します。

 

使用例

$ mysqlimport -u root -p --fields-terminated-by="," --lines-terminated-by="\r\n" --ignore-lines=1 --local sampledb /home/user/test1.csv

Enter password: [パスワード]

 

そのほか気になるオプション

 -i, --ignore
  ⇒--ignore:ユニークキーが重複した場合、何も処理せず無視する
 --r, --replace
  ⇒--replace:ユニークキーが重複した場合、既存のデータを新しいレコードの値で上書き
 -P port_num, --port=port_num
  ⇒接続するサーバのポートを指定
 -d, --delete
  ⇒インポート前に、インポート先のテーブルを全件削除する
 -f, --force
  ⇒処理中にエラーが発生しても無視して、後続の処理を実行する。

 



投稿日:2020-03-12    更新日:2020-03-25

[スポンサーリンク]

  
サイト内検索
プロフィール

プロフィール

[Name : じゃぶじゃぶ(@jbjb_2019)]
都内で社内SEをしているおじさん。
仕事で得られる知識だけでは限界を感じ、 WEBの勉強がてらITブログを開始。
サーバからWEBサイトまでフルスクラッチで開発しました。
現在は勉強のモチベーションを保つために活用中。
興味があることを雑記的に書いていきます。

[スポンサーリンク]

[スポンサードリンク]

最近の記事