『基礎からのMySQL』 西沢夢路著 (ソフトバンククリエイティブ)
から得たぜひ覚えたい個所を列挙した。 Part 1
(p45) DESC文
テーブルのカラム構造を確認する。describeを省略させた。
(p73) ALTER TABLE ~ CHANGE ~~~;
テーブルのフィールド名とデータ型を変更する。
alter table tb1c CHANGE umare seinen DATE;
(umare を seinen)に変更する。DATEは(データ型)は
直感的に省略してしまう。気を付けよう。
(p79) UNIQUE句
テーブル作成時、フィールドの重複を許さない。
フィールドが主キーではないけれど、フィールドの値を一意に
させたい時に指定する。
(p125) LIMIT句
画面に表示させたいレコード数を指定する。
(p130) IN句
IN句はORの役割をする
(p139) CASE式
SELECT * FROM tb; の代わりに、
SELECT case when ~ then ~ else ~ end FROM tb;
とする。 他のフィールドの値を元に、フィールドの設定値を
変えられる。(uria の値を元に 多い、少ない、等と
フィールド値を設定。 )
(p143) ORDER BY句
不規則に表示されるレコード表示に規則を与える。
ASC … 昇順(省略可)
DESC … 降順
※デスクと覚えた
※テーブル構成を表示する DESC とスペルが同一
(P146) OFFSET句
表示の範囲を限定する。
OFFSET 3 とすると、
最初の 3レコートを消す様にセットする。
(p148) GROUP BY句
特定のフィールドを(ex,select * from tb group by bang; の
様に)GROUP BY句に続けて指定すると、フィールド(bang)内
で重複する値(同じ値)をグループ化する(distinctみたいだ)。
グループ化することで、グループ毎に ”合計” したり、”平均”
を出したりする事が可能となる。
(p149) count()関数
count(x) で フィールド x に存在する個数を調べられる。
㊟nullはカウントされない。
select count(*) from tb group by bang; で、フィールド bang
でグループ化され、グループ毎の合計値を表示する。
この場合、グループ化したフィールドに null が入っていても
null の個数を表示してくれる。 テーブルのレコード数を知る
ことができるね。 メカニズムは解らない (^^;
(p152) HAVING句
GROUP BY句でまとめた値(たとえば、sum(uria))に対して
条件を付加する。
select
bang,sum(uria)
from tb
group by bang
having sum(uria) >= 200; は、
bang で グループ化 した uria の 合計値 が、
200以上の グループ のみを 表示するというもの。
複雑な条件(抽出・並べ替え・グループ化)では、
①WHERE条件
②GROUP BY
③ORDER BY ○○(DESC)
の順番となる。
MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part2)へ
MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part3)へ
情報処理再チャレンジブログ ホーム へ
から得たぜひ覚えたい個所を列挙した。 Part 1
(p45) DESC文
テーブルのカラム構造を確認する。describeを省略させた。
(p73) ALTER TABLE ~ CHANGE ~~~;
テーブルのフィールド名とデータ型を変更する。
alter table tb1c CHANGE umare seinen DATE;
(umare を seinen)に変更する。DATEは(データ型)は
直感的に省略してしまう。気を付けよう。
(p79) UNIQUE句
テーブル作成時、フィールドの重複を許さない。
フィールドが主キーではないけれど、フィールドの値を一意に
させたい時に指定する。
(p125) LIMIT句
画面に表示させたいレコード数を指定する。
(p130) IN句
IN句はORの役割をする
(p139) CASE式
SELECT * FROM tb; の代わりに、
SELECT case when ~ then ~ else ~ end FROM tb;
とする。 他のフィールドの値を元に、フィールドの設定値を
変えられる。(uria の値を元に 多い、少ない、等と
フィールド値を設定。 )
(p143) ORDER BY句
不規則に表示されるレコード表示に規則を与える。
ASC … 昇順(省略可)
DESC … 降順
※デスクと覚えた
※テーブル構成を表示する DESC とスペルが同一
(P146) OFFSET句
表示の範囲を限定する。
OFFSET 3 とすると、
最初の 3レコートを消す様にセットする。
(p148) GROUP BY句
特定のフィールドを(ex,select * from tb group by bang; の
様に)GROUP BY句に続けて指定すると、フィールド(bang)内
で重複する値(同じ値)をグループ化する(distinctみたいだ)。
グループ化することで、グループ毎に ”合計” したり、”平均”
を出したりする事が可能となる。
(p149) count()関数
count(x) で フィールド x に存在する個数を調べられる。
㊟nullはカウントされない。
select count(*) from tb group by bang; で、フィールド bang
でグループ化され、グループ毎の合計値を表示する。
この場合、グループ化したフィールドに null が入っていても
null の個数を表示してくれる。 テーブルのレコード数を知る
ことができるね。 メカニズムは解らない (^^;
(p152) HAVING句
GROUP BY句でまとめた値(たとえば、sum(uria))に対して
条件を付加する。
select
bang,sum(uria)
from tb
group by bang
having sum(uria) >= 200; は、
bang で グループ化 した uria の 合計値 が、
200以上の グループ のみを 表示するというもの。
複雑な条件(抽出・並べ替え・グループ化)では、
①WHERE条件
②GROUP BY
③ORDER BY ○○(DESC)
の順番となる。
MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part2)へ
MySQL ぜひ覚えたい 関数 式 句 などの覚書(Part3)へ
情報処理再チャレンジブログ ホーム へ
0 件のコメント:
コメントを投稿