主に「くだらないこと」「デジタル機器系」「すげぇと思ったもの」「Googleなどの検索エンジンもの」「マーケットやアンケート調査」「サッカー」「ゲーム」「ロードバイク(自転車)」などの情報をピックアップしています。たまにSEO、Ruby、CMSなどのナレッジログがあります。
RSS feed

ブックマークボタン

Skype

Chat with me - cyborgninja: オフライン

その他

ブログランキング・にほんブログ村へ
フィードメーター - 機械忍者
あわせて読みたいブログパーツ
 

このサイトについて

主に「ウェブサイト関連のネタトピック(SEOとかユーザビリティとか)」、「IT関連のTIPS、ナレッジ」などをつらつらと入れていきます。
Ruby、Rails、ObjectiveCなどのプログラム的なもんもありますが、MACとかiphoneとかそういうものも取り上げますし、ブログとかSNSとかも雑食に扱います。
「うわ、これどうやんだっけ?」ってことがここのサイトで調べられたらいいなぁ(遠い目)
絶賛不定期連載のため、RSSやTwitterなどで更新を確認してくださいー

  • MySQL:SELECT(データの検索・抽出)

    Posted on 9月 20th, 2010 機械忍者 No comments

    MySQL

    select文、常に使ってれば覚えられるけど、インスタントリリーフの僕には無理ですw
    特にwhereあたりがいつも分からなくなります。

    ってことでメモ。

    select フィールド名 [[as] フィールド別名], …
    from テーブル名 [[as] テーブル別名], …
    [where 条件式]
    [order by フィールド名 [desc], … ]
    [limit オフセット, 行数]

    フィールド名

    基本「*」で検索しちゃう。抽出するフィールド名をカンマ区切りで指定(*を使用すると、全てのフィールドが抽出されます)。
    count(*)にすると抽出された件数が返されます。

    from

    対象のテーブル名をカンマ区切りで指定。
    テーブルを複数指定した場合、そのテーブルのフィールドにアクセスするには、「テーブル名.フィールド名」のようにします。

    where

    抽出するための条件式を書きます。

    演算子 説明
    = 等しければ id = 1
    <>!= 等しくなければ id <> 1 または id != 1
    > 大きければ id > 10
    >= 以上なら id >= 10
    < 小さければ id < 10
    <= 以下なら id <= 10
    is null nullなら zip is null
    is not null nullでなければ zip is not null
    in どれかに等しければ id in ( 1, 2, 3 )
    between 値1 and 値2 値1から値2の間なら id between 1 and 10
    like ワイルドカードによるあいまい検索 handle_name like ‘%wind%’windという文字列が含まれていれば真になります。
    and 二つの条件が真なら id = 1 and zip is null
    or どちらかの条件が真なら id = 1 or zip is null
    not 条件の反転 not( id = 1 )

    order by

     検索結果をソート(並べ替え)します。カンマ区切りで複数のフィールド名を指定すると、その優先順位でソートされます。
     「order by フィールド名」の場合は昇順にソートされ、「order by フィールド名 desc」は降順にソートされます。

    limit

    抽出する件数を指定します。構文は「limit オフセット, 行数」となります。

    例えば抽出した結果が50件あり、そのうちの最初の10件だけを取得するには以下のようになります。
     limit 10

    また次のように書く事もできます。
     limit 0, 10

    更に次の10件(11 – 20)を取得するには以下のようにします。
     limit 10, 10

    よく使う例

    例:そのテーブルを全検索
    select * from “TABLE名”

    例:そのテーブルを全検索して上の方数件表示(値があるか確認するため)
    select * from “TABLE名” limit 0 10;

    例:特定の番号のレコードがあるか(IDが100番のレコード探し)
    select * from “TABLE名” id == 100;

Leave a reply