Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第11回Net講座2018

 第11回Net講座2018

More Decks by 北海道科学大学 電子計算機研究部

Other Decks in Education

Transcript

  1. 関係データベースとは ⚫ Excelのような2次元の表で構成されており この表をテーブルという ⚫ テーブルの列を Column 行を Row という

    ⚫ 関係データベースを管理するシステムを Relational Database Management System (RDBMS)と呼ぶ ⚫ SQL で操作する 5
  2. 使ってみよう Raspberry Pi にSSH接続し Maria DB にログインする 6 pi@raspberrypi:~ $

    sudo mariadb 1. MariaDB [(none)]> show databases; ログインできたら データベース一覧を確認してみる 2.
  3. 使ってみよう テーブルの内容を表示してみよう 8 5. MariaDB [nwdb]> select * from members;

    自分のデータを追加してみよう 6. MariaDB [nwdb]> insert into members values(番号, ‘名前');
  4. SQL

  5. 1. SELECT(検索) 11 構文 SELECT 列 FROM テーブル [WHERE 条件]

    SELECT id FROM members; 例 SELECT * FROM members WHERE id=1; SELECT * と記述すると 全ての要素を対象とする [ ] の中はオプション
  6. 2. UPDATE(更新) 12 構文 UPDATE テーブル SET 列=値 [WHERE 条件]

    UPDATE members SET name = 'TEACHER’ WHERE id = 0; SELECT * FROM members; 例 ,(カンマ)で区切ることで 複数の条件や値を指定できる
  7. 3. DELETE(削除) 13 構文 DELETE FROM テーブル [WHERE 条件] DELETE

    FROM members WHERE id = 0; SELECT * FROM members; 例 WHERE句で条件を指定しないと テーブルが全て削除される! DELETE FROM members; 全削除!!
  8. 4. INSERT(追加) 14 構文 INSERT INTO テーブル [列1, 列2…] VALUES

    (値1, 値2…) INSERT INTO members (id, name) VALUES(0, 'Kagawa Seigo’); SELECT * FROM members; 例 すべての列に値を入れる場合 [列1, 列2…]は省略可能
  9. その他 15 SELECT id AS '番号' FROM members; AS 句をつけることで別名を定義できる

    SELECT id, name FROM members; ,(カンマ)で区切ることで 複数の条件や値を指定できる 予約語(SELECT, FROMなど)は小文字でも良い
  10. 演習 11-1 1. 偉大な前ネットリーダーの名前のみを 表示してください 2. 3桁のidと名前を持つデータを 追加してください(内容は適当でOK) 3. 2で追加したデータの

    name を id を絞り込み条件とするSQLで 表示してください 4. 2で追加したデータと自分のデータの2つの id と name を表示してください 16
  11. WHERE(絞り込み) 17 構文 WHERE 条件式 id が1 以下のデータを表示したい SELECT *

    FROM members WHERE id < 1; 例 JavascriptやPythonのように 演算子を使用することができる!
  12. LIKE 演算子(パターンマッチング) 18 構文 条件式 LIKE パターン文字列 name が K

    から始まるデータを表示したい SELECT * FROM members WHERE name LIKE 'K%'; 例 パターン 意味 % 0文字以上の文字列 _ 1文字
  13. BETWEEN 演算子(範囲) 19 構文 式 BETWEEN 値1 AND 値2 id

    が 1以上3以下のデータを表示したい SELECT * FROM members WHERE id BETWEEN 1 AND 3; 例 値1 以上 値2 以下 値1 <= x <= 値2
  14. IN 演算子(複数) 20 構文 式 IN (値1, 値2, …) id

    が 0, 1, 2, 3 と一致するデータを表示したい SELECT * FROM members WHERE id IN (0, 1, 2, 3); 例 式 NOT IN (値1, 値2, …)
  15. AND OR 演算子(条件の組み合わせ) 21 構文 条件式1 AND 条件式2 id が

    1以上 かつ name が前ネットリーダーのデータを表示したい SELECT * FROM members WHERE id >= 1 AND name = 'Kagawa Seigo'; 例 条件式1 OR 条件式2 データなし!
  16. 演習 11-2 1. id が 1, 3, 5 以外のデータを 表示してください

    2. name に a が含まれるデータを 表示してください 3. id が 1以上5以下 かつ name が i で終わる データを表示してください。 22
  17. ORDER BY(ソート) 23 構文 SELECT 列 FROM テーブル ORDER BY

    列 [ASC/DESC] payment の内容を日付順に降順で表示したい。 SELECT * FROM payment ORDER BY time DESC; 例 ASC:昇順 DESC:降順 省略した場合は昇順
  18. JOIN(結合) 24 構文 SELECT 列 FROM テーブル JOIN テーブル ON

    結合条件 members と account を結合して表示したい SELECT account.id, name, memo FROM account JOIN members ON account.id = members.id; 例 + =