FC2ブログ

SQLite でデータ抽出

SQLite でデータ抽出

#10 データを抽出してみよう
http://dotinstall.com/lessons/basic_sqlite/6410
を参考に、データの抽出

select 見たいカラム名 from テーブル名
でみることができる

見たいカラム名には * とすると
指定したテーブルの中のカラム全部が対象になる

mysql とかでもよくみかける構文はこの意味

動画を参考にやろうとしても
データがないので、まずは必要なテーブルとかを作成

動画の .schema を元に作成してデータ挿入しておく

create table user(name,score);
insert into user(name,score) values('taguchi',200);
insert into user(name,score) values('sasaki',100);
insert into user(name,score) values('hiroshi',400);
insert into user(name,score) values('hiyano',500);

すでに users というテーブルは使っているので
user というテーブルを作成
select score from user;
で同じ結果をみることができる

構文は
select カラム名 from テーブル名;

ただ引き出すだけだと意味があまりないので
並び替えと合わせて使うことで効率的にデータ管理参照ができる

select * from user order by score;
このように
order by をつけることで
score の小さい順に並び替えが可能

select * from user order by score desc;
というように、 選択したカラム名の後に
desc
をつけると、今度は大きい順にならべることができる

今回なら
score の大きい順に並び替えで表示している

また、検索結果の表示を絞り込むことも可能
select * from user order by score desc limit 3;
とすれば
score の値の大きい順上位3つからの表示となる

ちょっと長い構文なので
メモ
order by score desc
でsocre の中から大きい順に表示
desc をつけると大きい順になる

limit 3
で3つ表示
となっている

select * from user order by score limit 3;
とすれば、score の小さい順に表示になる

よく使うものとして
条件を指定するため where を使うやりかた

select * from user where score >= 200;
とすることで、
score >= 200 の条件に該当するものだけ
表示するようになる

構文は
select カラム名 from テーブル名 where 条件

あと、条件を指定するときに
java script とか PHP などでは
if のところの条件で
~でないという意味で
!=
を使ったけど
SQLite の場合には
<>
と書く

select * from user where name <> 'taguchi';
とすれば、名前が taguchi 以外の人の名前が
表示される

あと、name が taguchi のみ表示とするなら
select * from user where name = 'taguchi';
となる
java script や PHP の場合
name == 'taguchi'
と条件式に書くけど、SQLite の場合は
name = 'taguch'
となるので注意

ちなみに、文字列の場合は = の代わりに like でもOK
select * from user where name = 'taguchi';

select * from user where name like 'taguchi';
は同じ結果になる

あと、SQLite では、ワイルドカードが使えるけど
通常、 Linux コマンドとかで
ワイルドカードを示すのは * だけど
SQLite では % になる

select * from user where name like 'tag%';

name の中で
tag を含む、すべての名前ということになります
スポンサーサイト



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

コメント

非公開コメント

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