ToDo No ToDo 完了 登録日時 ユーザ名 Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
行
列
列(属性)と行(タプル)の組み合わせによって表現されている情報の
集合、この集合を表(テーブル)と呼ぶ。語弊を恐れず言えば Excel の
ようなもの。
リレーショナルタイプ
について
Slide 15
Slide 15 text
正規化
User No 名前 Email
1 zaru [email protected]
2 mu [email protected]
ToDo No ToDo 完了 登録日時 User No
1 生放送する 完了 2020-05-31 1
2 コード書く 未完了 2020-06-01 1
3 絵を描く 未完了 2020-06-02 2
4 ご飯つくる 未完了 2020-06-04 1
「ToDo テーブル」と「 User テーブル」の2つに分割。
詳しくは次回
Slide 16
Slide 16 text
SQL について
リレーショナル
リレーショナル DB の操作を
簡単にするための言語が SQL
リレーショナル DB は色々なシステムがあるが、SQL という標準化され
た(一応)言語を使って、同じような書き方でデータの操作をすること
ができる。
Slide 17
Slide 17 text
簡単な SQL を使ってみる
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
todo テーブル
こんなテーブル
があるとする
まずは基本的な 検索/挿入/更新 をやってみましょう。
Slide 18
Slide 18 text
データの検索 その1
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
SELECT 取得したい列名
FROM テーブル名;
SELECT task, user_name
FROM todo;
task user_name
生放送する zaru
コード書く zaru
絵を描く mu
task と user_name
の列を取得するこ
とができました
Slide 19
Slide 19 text
データの検索 その2
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
SELECT 取得したい列名
FROM テーブル名;
SELECT *
FROM todo;
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
ワイルドカード(*)
を使うことで全て
の列データを取得
Slide 20
Slide 20 text
データの検索 その3
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
SELECT 取得したい列名
FROM テーブル名
WHERE 検索条件;
SELECT task, user_name
FROM todo
WHERE user_name = “zaru”;
task user_name
生放送する zaru
コード書く zaru
user_name が zaru
のものを
抽出できました
Slide 21
Slide 21 text
データの挿入
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
INSERT INTO テーブル名
VALUES ( “id”, “task”, ... );
INSERT INTO todo
VALUES (
4, “撮影”, “未完了”,
“2020-06-05”, “zaru”, ...
);
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
4 撮影 未完了 2020-06-05 zaru [email protected]
Slide 22
Slide 22 text
データの更新
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 未完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
UPDATE テーブル名
SET 列名 = 新しい値
WHERE 条件;
id task status created_at user_name Email
1 生放送する 完了 2020-05-31 zaru [email protected]
2 コード書く 完了 2020-06-01 zaru [email protected]
3 絵を描く 未完了 2020-06-02 mu [email protected]
UPDATE todo
SET status = “完了”
WHERE id = 2;