More Related Content Similar to 達人に学ぶSQL徹底指南書 第2版勉強会 #0
Similar to 達人に学ぶSQL徹底指南書 第2版勉強会 #0 (20) 達人に学ぶSQL徹底指南書 第2版勉強会 #02. ⽬目次
• SQLとは
• CREATE DATABASE
• SQL DATA TYPE
• CREATE TABLE
• INSERT INTO
• SELECT
• WHERE
• UPDATE
6. SQLデータ型
• テーブル構造に定義できるデータ型は以下
• CHAR (SIZE) 固定⻑⾧長⽂文字型、SIZEに指定した⻑⾧長さの固定⻑⾧長サイズの
⽂文字列列を保存できる。
• VARCHAR(SIZE) 可変⻑⾧長⽂文字型、SIZEに指定した⻑⾧長さの可変⻑⾧長サイズ
の⽂文字列列を保存できる。
• TINYTEXT 最⼤大255⽂文字のデータを保存できる⽂文字列列型
• TEXT 最⼤大65535byteの⽂文字列列を保存できる⽂文字列列型
• BLOB 最⼤大65535byteのバイナリデータを保存できる型
7. SQLデータ型 (2)
• MEDIUMTEXT 最⼤大16,777,215⽂文字を保存できる⽂文字列列型
• MEDIUMBLOB 最⼤大16,777,215byte保存できるバイナリデータ型
• LONGTEXT 最⼤大4,294,967,295⽂文字保存できる⽂文字列列型
• LONGBLOB 最⼤大4,294,967,295⽂文字保存できるバイナリデータ型
• 書ききれないほどあるので詳しくは https://www.w3schools.com/
sql/sql_datatypes.asp を参照
•
10. CREATE TABLE⽂文(テーブルを作成する)
• 実際にやってみよう
• https://github.com/yasuno0327/LearnSQL からリポジトリをclone
• cloneしたリポジトリに移動してdocker-compose up
• mysql -u root -p でmysqlに⼊入る => 設定してあるパスワードは
password
• それぞれコマンドを実⾏行行。
12. SELECT ⽂文
• SELECT⽂文は⽂文字通りDBのデータを選ぶSQL⽂文
• SELECTを使うとDBから⾒見見たいデータを取ってきてくれる
• ⽂文法
• SELECT <FIELD_NAME> FROM <TABLE_NAME>;
SELECT <FIELD_NAME1>, <FIELD_NAME2> FROM <TABLE_NAME>;
SELECT * FROM <TABLE_NAME>;
• articlesからinsertしたtitleとbodyのデータ、全てのデータを取ってきて
みよう。
13. WHERE ⽂文
• WHEREはSELECTの後につけて検索条件を指定する事ができる。
• WHEREをつける事により、idが2のものを取ってくる、5以上のものを取ってくるな
どの複雑な検索を実現する事ができる。
• ⽂文法
SELECT <FIELD_NAME> FROM <TABLE_NAME> WHERE <CONDITION>;
• conditionには検索条件が⼊入ります
• 例例 SELECT title FROM articles WHERE id > 2; (articles.idが2より⼤大きい
articles.titleを取ってくる)
• title = “前回INSERTしたtitle” となるarticlesの全カラムを取ってきてみよう
15. ALTER TABLE ⽂文
• ALTER TABLEは作成したテーブルのデータ構造を変更更したい場合に使う。
• ⽂文法
ALTER TABLE <TABLE_NAME> <COMMAND> <COMMAND_SYNTAX>;
• コマンドにはフィールド追加のADD, フィールド名変更更のCHANGE,
フィールド型変更更のMODIFYがある。
• 詳しい紹介は時間の都合で割愛。
https://www.1keydata.com/jp/sql/sql-alter-table.php
(ここ⾒見見るとええで)
16. PRIMARY KEY
• いわゆる主キー、データを個別に判別するために使うキーフィール
ド
• PRIMARY KEYは重複してはいけない要素なのでこれを使って個別の
値を取ってくることができる。
• 追加⽅方法はTABLE作成の際に
CREATE TABLE articles
(id int, title varchar(255), PRIMARY KEY(id)); のようにする
• TABLEを修正して追加する際は
ALTER TABLE articles ADD PRIMARY KEY(id);
18. JOIN ⽂文
• テーブルを結合させます。
• WHEREで検索する際に関連性のあるテーブルから情報を取ってくるのはJOINで結
合してからでないと出来ません。デフォルトでは内部結合(結合条件にnilがある値は
無視される)されます。
外部結合は指定された側のtableを基準に相⼿手⽅方の値がnilであっても取ってきます。
• ⽂文法 (内部結合) JOINはINNER JOINでもOK、INNERを明示したほうが良い
SELECT <FIELD_NAME> FROM <TABLE_NAME>
JOIN <TABLE_NAME> ON <CONDITION>
• 実際にuserとarticleテーブルを結合させてuserと関連するarticleを取ってきてみよ
う。