ウィルキンソンの炭酸が抜けていく。

webクリエイターのイロハ

mysql メモ 条件付きでの抽出その1

これまで、レコードを抽出する方法を見たが、実際はアプリなどを作っているときは、条件付きで抽出したい場合がほとんどです。
 
 
例えば、score が5以上とか 6月以降に登録した人などなど
 
ここではwhereという命令を使う。
 
select * from users where score >= 5.0;
 
 
scoreが5,0以上というのは >=この演算子 「以上」を使う。
 
これ以上とか以下とかは不等号を使って表す。
 
等しい場合は「=」イコール
 
「=」の否定には 「!=」 または 「<>」とする
 
 
文字列にも条件がつかえて、例えば、チームがredじゃない人を引っ張ってきてほしいばあいは
 
select * from users where team <> 'red';
 
このようにred 「<>」じゃない って感じに書いていきます。
 
 
日付に対しても条件が使える。
 
select * from users where created <> '2011-06-01 11:00:00';
 
 
 
dotinstall.comを持っている人をもってきたい。
 
ちょっと曖昧な検索をします。
そういうときはlikeを使います。
likeは2つほど記号が使えるのですが、一つは%
任意の文字列なので、何字でもかまいません。
select * from users where email like '%@dotinstall.com';
 
%は「〜」の意味で、何かの文字が来て、そのあとに@dotinstall.com’が来る。というときに%をつかいます。
 
 
 
 
 
%だけでなく「 _ 」もあって、これは任意の1文字がになる。
 
 
 
select * from users where email like '%@dotinstall.__';
 
こうすると「 - 」が二つあるのでdotinstallのあとに2文字だけ来るものを引っ張ってきなさい。という命令になる。