sql講座 (初心者向け)

12
SQL 講座 Presented by boomerang

Upload: kohki-nakaji

Post on 09-Aug-2015

40 views

Category:

Technology


5 download

TRANSCRIPT

SQL 講座Presented by boomerang

SQLリレーショナルデータベース(RDB)を制御する言語

正式名称:Structured Query Language

命令

実行結果

SQL

データベースプログラマ

DBの例

一行ごとに情報がまとまっている

用語テーブル データを格納する表

レコード テーブルの行(横)

フィールド テーブルの列(縦)

クエリ テーブルに対する命令

※本講座ではMySQLについて扱う

SELECT文あるテーブルの条件にマッチする行を表示する

SELECT id, value FROM table_tbl WHERE value = ‘3’

表示するフィールドの指定 アスタリスク(*)を用いることで 全てのフィールドを表示する

対象のテーブル名

条件の指定 この場合、valueの値が ’3’であるレコードを表示する

WHERE句演算子とキーワードを用いて条件文を指定する

演算子( = , < , > , <= , >= ) 演算子の左右を比較する 例:WHERE age <= ‘19’

LIKE ワイルドカード( % , _ )を指定する 例:WHERE name LIKE ‘naka%’

AND , OR 複数の条件文を指定する 例:WHERE id = ‘8’ OR id = ‘23’

NOT 条件を反転させる(否定) 例:WHERE NOT age <= ‘19’

INSERT文あるテーブルにレコードを追加する

INSERT INTO table_tbl ( id, value ) VALUES ( ‘abc’, ‘19’ )

対象のテーブル名

値を入れるフィールドを指定 指定しないフィールドは初期値が入る

上記のフィールド順に 追加する値を指定する

UPDATE文あるテーブルの条件にマッチする行を更新する

UPDATE table_tbl SET value = ‘7’ WHERE value = ‘3’

対象のテーブル名

“更新するフィールド = 値” という形式で指定する

条件の指定 この条件にマッチする レコードのみが更新される

DELETE文あるテーブルの条件にマッチする行を削除する

DELETE FROM table_tbl WHERE value = ‘3’

対象のテーブル名

条件の指定 この条件にマッチする レコードが削除される

表の結合LEFT JOIN , RIGHT JOIN , INNER JOIN

SELECT * FROM 1_tbl LEFT JOIN 2_tbl  ON 1_tbl.id = 2_tbl.id

元になるテーブル名

結合するテーブル名

対応させるデータの指定 対応データがない場合、 結合方法で挙動が変わる

PRIMARY KEYレコードを一意に決定する

 → 重複を防ぎ、インデックスを作成する

 → テーブル間のデータを関連づける

DB設計の重要な要素

課題

• questionQuery.txtの問題を解け

• answerQuery.txtに解答を記述すること

• sampleQuery.txtを適宜参照せよ

• 提出締め切りは 6/25(水)の部会前まで