SQLite で外部ファイルからデータ読み込み

SQLite で外部ファイルからデータ読み込み
#17 外部ファイルからデータを取り込む
http://dotinstall.com/lessons/basic_sqlite/6417
を参考に、外部ファイルからデータの読み込みを学習
これにより、mysql で .sql ファイルからデータを
読み込んで実行するようなことができる
今回は、users.txt というテキストファイルに
データを記述
まず、vim でも gedit でもOKなので
データを書いて
users.txt というファイルで保存
中身は
taguchi,200
sasaki,400
yamashita,120
hebereke,800
また、新しいデータをとりこむため
練習テーブルも作成する
create table infile(name,score);
で infileテーブルと
name
score というカラムを作成
このテーブルに
users.txt の中身をいれるには
.import を使う
ただし、その前に区切り文字を指定しておく
デフォルトだと
データの区切り文字は | となっているけど
users.txt の中身のデータは , で区切ってあるので
これを変更する
現在の設定は
.show
でみることができる
ちなみに、現在は
echo: off
explain: off
headers: off
mode: list
nullvalue: “”
output: stdout
separator: “|”
stats: off
width:
これをみると、区切り文字を意味する
separator: “|”
となっているので、これを変更する
| から , に変更するには
.separator ,
とすればOK
.show
で確認すると
echo: off
explain: off
headers: off
mode: list
nullvalue: “”
output: stdout
separator: “,”
stats: off
width:
となり
separator: “,” に変更されている
この状態で
.import 読み込むファイル テーブル名
とすると
データを入れることができる
今回は users.txt を infile テーブルに入れるので
.import users.txt infile
select* from infile;
で確認すると
taguchi,200
sasaki,400
yamashita,120
hebereke,800
というように、反映されているのが確認できる
あと、設定で変更しておくと便利なのが
.header on
としておくと
デフォルトでは
select* from infile;
を実行すると
taguchi,200
sasaki,400
yamashita,120
hebereke,800
だけど
select* from infile;
name,score
taguchi,200
sasaki,400
yamashita,120
hebereke,800
というように、一番上にカラム名が表示されるようになる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です