さくら共有サーバーでCSVファイルをインポートする方法

この記事について

環境さくら共有サーバー、mysql
目的CSVファイルをload dataでインポートする
結果–enable-local-infile付きでDBサーバーにログインし、load data local infileを実行する

つまずきポイント要約

  • –enable-local-infileを付けないと「The used command is not allowed with this MySQL version」エラー
  • use するデータベース名は「ユーザー名_データベース名」となっているのを忘れないこと

さくら共有サーバーでCSVファイルをインポートした際の覚書。
ファイルのインポートは「load data」を使う。

用意したCSVファイル、test.csv

3,テストです

インポート先のテーブルもフィールドは2つ。

1.SSHでサーバーにログインする

2.データベースサーバーにログインする

ログインした際のコマンド

mysql -u ユーザー名 -h mysqlxxx.db.sakura.ne.jp -p --enable-local-infile

大事なのは行末の「–enable-local-infile」でLOAD DATA LOCAL INFILE 文を使えるようにしておくこと。無いと「load data local」したとき、
「The used command is not allowed with this MySQL version」とエラーが出る

3.「load data」を実行してインポート

use データベース名 ←データベースを選択。「ユーザー名_データベース名」となっているのを忘れないこと。

load data local infile "/home/username/www/test.csv" into table テーブル名 fields terminated by ',';

「LOCAL」をつけることで、FILE権限なしで、ローカルファイルの読み込みが可能になる。「fields terminated by」はフィールド区切り文字の指定。ちなみに囲み文字の指定は「OPTIONALLY ENCLOSED BY」で行う。
行の終わりは「lines terminated by ‘\n’」で明示できる。

関連記事

タイトルとURLをコピーしました