Presentation is loading. Please wait.

Presentation is loading. Please wait.

3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟.

Similar presentations


Presentation on theme: "3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟."— Presentation transcript:

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)


Download ppt "3-2.データを取り出す 2004年 5月20日(木) 01T6074X 茂木啓悟."

Similar presentations


Ads by Google