Download presentation
Presentation is loading. Please wait.
1
3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟
2
データを取り出す DBに納められたデータは,条件を設定して簡単かつ高速に目的のデータを取り出すことができる。
表示順を並べ替えたり,特定のデータだけを表示するといった操作も可能。
3
テーブルからデータを取り出す テーブルからデータを取り出す際は, 「select カラム名 from DB名 テーブル名」 というselectコマンドを使う。 DB名はあらかじめ「use DB名」で指定しておけば、コマンドを発行するたびに指定する必要はない。
4
mysql> select * from FRIENDS_T;
テーブルに入っているすべてのカラムのレコードを取り出す場合は,次のように * を使い,「全カラムのデータ」を対象とする。 mysql> select * from FRIENDS_T; +‐ ‐ ‐ ‐+ ‐ ‐ ‐ ‐ ‐ ‐ + ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ + | ID_C | NAME_C | ADD_C | | | 友竹大雪 | 大阪府 ・ ・ ・ | | : | : | : |
5
・IDのカラム(ID_C)だけを表示させたい場合 mysql> select ID_C from FRIENDS_T;
・複数のカラムのレコードを取り出す場合 mysql> select ADD_C,NAME_C from FRIENDS_T; カラムの表示順序は、selectの後に指定するカラムの順番と同じになる。
6
取り出したレコードのカラム名を別のカラム名で表示させる場合
mysql> select ADD_C as “住所”,NAME_C as “名前” ‐>from FRIENDS_T; +‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐ + ‐ ‐ ‐ ‐ ‐ ‐ ‐ ‐+ | 住所 | 名前 | | 東京都千代田区・・ | 大友達子 | | : | | : |
7
mysql> select * from FRIENDS_T order by ID_C;
数値や文字列のデータが納められたカラ を基準にして、カラムの値順にレコードを並 び替えるには、「order by カラム名」を使用す る。 mysql> select * from FRIENDS_T order by ID_C;
8
並びはID番号順で、ID番号の表示は必要ないという場合 mysql> select NAME_C from FRIENDS_T order by ID_C;
降順で表示させる場合 mysql> select ID_C from FRIENDS_ T order by ID_C desc;
9
指定の数だけデータを表示(limit句)
limit句は, order byを使って並べ替えた結果セットにおいて,上から何番目までのデータを取り出すかという指定を行う句です。 mysql> select NAME_C,AGE_C from ‐> FRIENDS_T2 order by AGE_C limit 5;
10
年齢順に並べ替えて,2番目以降に若い人を3人を表示させたい場合
年齢順に並べ替えて,2番目以降に若い人を3人を表示させたい場合 mysql> select NAME_C,AGE from FRIENDS_T2 ‐> order by AGE_C limit 2,3; limit句では数字を重ねて使うことが可能
11
重複せずにデータを表示(distinct)
mysql> select distinct BLOOD_C from FRIENDS_T2;
12
条件を使ったデータの検索(where句) 条件の設定には,selectコマンドに続けて where句を使う。
比較演算子 比較演算子は,数値データが大きい小さいなどの条件を設定する場合に使用し,カラム名とキーワードを結びつける。
13
比較演算子の一覧 column_name > “DATE” DATEより大きい column_name < “DATE” DATEより小さい column_name >= “DATE” DATE以上 column_name <= “DATE” DATE以下 column_name = “DATE” DATEと等しい column_name < > “DATE” DATEと等しくない
14
・名前が「大友達子」であるレコードを取り出す場合
・ID_Cが「1」の人を表示する場合 mysql> select * from FRIENDS_T where ID_C = 1; ・名前が「大友達子」であるレコードを取り出す場合 mysql> select * from FRIENDS_T where NAME_C = “大友達子”;
15
論理演算子and,&& 2つ以上の条件を満たすレコードを検索する場合は,andを使います。
mysql> select * from FRIENDS_T where NAME_C ‐> = “大友達子” and ID_C = 1;
16
mysql> select * from FRIENDS_T where
・ある数値の間のID番号を取り出す場合 mysql> select * from FRIENDS_T where ‐> ID_C >= 4 and ID_C <= 7; &&とandは全く同義
17
論理演算子or,|| 2つ以上の条件が設定されていて,その中のいずれかの条件に合致するレコードを探す場合orという演算子を使う。
mysql> select * from FRIENDS_T where NAME_C = “大友 ‐> 達子” or NAME_C = “小友達夫” orと||は全く同義
18
論理演算子not notはwhere句の中で使い,not以下で指定した検索条件を打ち消す。
notを使うことで,検索条件式に合わないレコードを表示する。 mysql> select * from FRIENDS_T where ‐> not (NAME_C = “大友達子”);
19
あいまい検索like あいまい検索は「like」と「%」を使う。
%は「ワイルドカード」と呼ばれ,%の場所に「何かの文字が入る」ことを示す。 mysql> select * from FRIENDS_T where ADD_C like “東京都千代田区%”;
20
もし不確かな個所の文字数がわかっていれば、「_」(アンダーバー)を使うことができる。 mysql> select
もし不確かな個所の文字数がわかっていれば、「_」(アンダーバー)を使うことができる。 mysql> select * from FRIENDS_T where ‐> NAME_C like “_友%”; あいまい検索を行いたいデータに%が含まれる場合、検索キーワードに「\」を組み合わせる。 mysql> select * from ITEM_T where ‐> NAME like “100\%%”;
21
Between述語とin述語 指定された数値や文字列の範囲に当てはまるレコードを取り出す方法。 between~and~で範囲を指定すると、その範囲内の数値を持つレコードが表示される。 mysql> select * from FRIENDS_T where ‐> ID_C between 5 and 8;
22
between述語を使用した条件式は、in述語で書き換えることが可能。 mysql> select
between述語を使用した条件式は、in述語で書き換えることが可能。 mysql> select * from FRIENDS_T where ‐> ID_C in(5,6,7,8); ・in述語では、連続しない数値や、アルファ ベット、文字列を指定することも可能。 ・テーブルにないデータが()の中のリストに 入っていてもそれを無視し、該当のもの だけが結果セットとして表示される。
23
is null と is not null ・データが入っていないレコードを探す場合、 Null値を使う。 ・空白(スペース)や0(ゼロ)は、Null値では ない。 mysql> select * from FRIENDS_T where ‐> ID_C is null; empty set(0.00 sec)
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.