見出し画像

【カレッジ体験記10日目】データベース(MySQL)、エラー文との闘い

こんばんは。広報あーこです。
広報自ら、3ヶ月で未経験者をエンジニアに育成する自社のプログラミングスクール「プログラマカレッジ」を体験する企画の10日目です!

勉強を始めた経緯は、下記noteをご確認下さい。

9/16(学習10日目)の学習内容

画像1

<今日の学習内容>
学習した言語:MySQL(コマンドプロンプト)
学習範囲:コマンドプロンプトの環境設定、書き方、テーブルの結合、オプション
学習時間:4時間
達成率:36%(単元内達成率:100%)

コマンドプロントとは?

前回に引き続き、MySQLを学びました。今日は、コマンドプロントを使い方です。

コマンドプロントとは、「コマンドという命令文で、Windowsの操作や、ファイル操作を行うツール」だそうです。以下のように、真っ黒の画面に白い文字を打ち込んでいきます。

画像2

なんだか、いかにもプログラマー!という感じがしてわくわくしました(笑)

今日は、
(1)環境設定と基本の書き方
(2)更新、削除、追加の書き方
(3)結合とオプションの書き方
を学んだので詳しく以下、学んだ内容を頭の整理を兼ねて、下記まとめました。

出来るようになったこと

(1)環境設定と基本の書き方

画像3

コマンドプロントでMySQLへログイン/ログアウトの方法。

画像4

基本操作で使うコマンド3種の使い方。

(2)更新、削除、追加の書き方

画像5

書くツールや書き方は違えど、データベースの操作の基本は大きく4つ。

・insert文……データを書き込む
・select文……(既に入っている)データを呼び出す
・update文……データを上書きする
・delete文…データを削除する

考え方は複雑ではないのですが、下記のように「”」「,」が多いのでケアレスミスしやすいので、細かい作業が苦手な私は少し苦手でした。。。

▼insert文の例

insert into item(item_id,item_name,item_team,price) values
(1,'りんご','summer',150),
(2,'ぶどう','fall',200),
(3,'さつまいも','fall',250),
(4,'ネギ','winter',190),
(5,'にんじん','spring',50),
(6,'トマト','summer',100);

エラーが出たら、まず、下記赤枠のエラー文を読み、「near 'tables'at Line1(何行目の近く)」と書いてあるので、その辺りを凝視し、解決していきました。

エラー

(3)結合とオプションの書き方

画像7

基本を学んだら応用編です。ここでは、異なるテーブルをある条件を付与して、結合するということを学びました。

結合方法は、内部結合と外部結合の2つ。違いは、下記です。

内部結合(INNERJOIN/JOIN)
それぞれのテーブルが指定した列の値が一致するデータだけを取得

外部結合(LEFT OUTER JOIN/RIGHT OUTER JOIN)
それぞれのテーブルが指定した列の値と一致しないデータもnull(空)として取得。またLEFTとRIGHTは、LEFT(左側)を基準にデータを抜き取るのか、RIGHT(右側)を基準にしてデータを抜き取るのかの違いだそうです。
「ON」以下はどのような(How)条件でデータを取得するのかです。

画像9

画像10

また、最後は、「この項目(カラム名)は、入力を必須にしたいなぁ」「取得データに番号振りたいなぁ」など、データベースのルールを設けるためのオプションを学びました。

画像8

最後に

MySQLの教材は何故か動画学習がなくて、いつもより理解するスピードが遅めした。改めて動画学習は、理解を深めるのに効果があるなぁと思いました。(是非、この単元も動画化希望ですw)

システムとしても黒い画面に打ち込んでいく操作は、普段のカラフルなエディターに打ち込んでいく操作と異なり、ケアレスミスが多くなりがちなので、エラー文に苦労しました。来週からいよいよPHP!基礎を固めるために、明日は、復習DAYにします。

おまけ

エラーが出た時の質問で今日、DISCORDで講師から「質問の仕方」に関するアドバイスがあり、とても腑に落ちる内容だったので共有です。

エラー文

質問する時も、コードを書くときの大原則「いかにシンプルに書くか」と同同様に、「どのような質問をしたら、答える側のReturnが早くなるか(何度もラリーしなくて済むか)」という視点を持てると良いなと思いました。


bannarプログラマカレッジ - programmercollege.jp


この記事が気に入ったらサポートをしてみませんか?