FC2ブログ

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
というように、一番上にカラム名が表示されるようになる
スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック