Lesson10 データベースとSQL -コマンドプロンプト使いにくくない?- Java,テックアカデミー

残りはLesson10と11だけです。

ちゃちゃっと終わらせて就活しましょう。

スポンサーリンク
広告

 MySQL

MySQLの使い方が載ってます。

問題を解きながら覚えます。

課題:商品データベース

課題の提出方法は、

  1. コマンドプロンプトでSQL文を書いて動作を確認
  2. テキスト(メモ帳)にコピペ
  3. zipして提出

となるようです。

問題1

どちらもcreate文で作ります。

問題2

文字列は”で囲む必要があるようです。

自動採番で参考にしました。

https://www.dbonline.jp/mysql/table/index7.html

主キーで参考にしました。

https://www.dbonline.jp/mysql/table/index8.html

文字列の文字数の指定はchar()を使用するようです。

https://www.dbonline.jp/mysql/type/index3.html

DATETIME型で行作成日時が表示されます。

http://dekokun.github.io/posts/2014-05-31.html

問題3

insert文を使用して、select文でテーブルを表示します。

※追記

insert文は、values(),(),….とすることで複数のレコードを同時に入力できるようです。

問題4

select文でできるみたいです。

https://www.dbonline.jp/mysql/select/index11.html

問題5

update文を使用

問題6

delete文を使用

問題7

select count() で取得しました。

https://techacademy.jp/magazine/5189

問題8

これもselect文でいけるみたいです。

http://qiita.com/nogitsune413/items/f413268d01b4ea2394b1

問題9、10

alter文を使用

テキストファイルは右クリック⇒送るボタン⇒zip形式で保存で提出。

課題:正規化

第1~3正規化まであるようです。

よくわからなかったので、参考にしたページだけ紹介します。

http://gomocool.net/gomokulog/?p=514

http://www.oss-db.jp/measures/dojo_info_04.shtml

http://www.techscore.com/tech/sql/answer/16_02-1.html/

カリキュラムにある、IDを追加し重複を解消する正規化は特殊なのでしょうか?

ネットで軽く調べた程度では出てきませんでした。

恐らく問題1,2はカリキュラムのやり方。

問題3は上記の参考ページのやり方で回答するのだと思います。

最終課題:資格手当て

・問題1,2

最初の問題を参考にデータベース、テーブル作成。

int型の桁数無しでカラムを作成すると、002が2に勝手に変換されます。

int(3) zerofill と桁数を指定し、再度テーブル作成するもエラー。

なんでぇ?

原因は

(社員番号 int(6) zerofill……)

のスペースを全角スペースにしていたから。半角スペースに直して再度作成。

ECLIPSEはエラーの原因を教えてくれるのに。。。

MySQL不親切だぞ~。

・問題3

参考にしたページ。

https://www.dbonline.jp/mysql/select/index14.html

SELECT SUM(資格手当て) した後、INNER JOINTすると資格手当ての合計が出ました。

・問題4

問題3の応用です。

社員毎の資格手当ての計算には SUMと

GROUP BY 社員名

を使ったのですが、GROUP BY 社員名をどこに置けばいいのか不明でした。

すぐ近くに置くとエラー。

このページを参考に一番後ろに置いて解決。

http://omachizura.com/sql/GROUP%20BY句でデータの集計・集約を行う.html

てっきり SUM の近くに置かなければいけないと思っていました。

感想

MySQL(コマンドプロンプト)はエラーの原因も教えてくれず、

複数行に跨るコピペも上手くできません。

これ仕事で使いたくないなぁ。

eclipseがいかに優れた開発ツールか再確認できました。

何はともあれ、これで課題は全て片付けました。

あとはLESSON11を読んで終わらせましょう。

スポンサーリンク
広告