MySQL演習:整理、取得してみよう!

MySQLのステートメント(SQL文)

前回までのMySQLの課題で、基本的なステートメントを扱ってきましたが、このセクションでは、開発でよく使われるものを、今まで作ったテーブルをもとに紹介していきます。すでに触れているものも含みますが、一つずつ実行してみて、身につけていくようにしましょう!

PRIMARY KEY

PRIMARY KEY(プライマリーキー)とは作成したテーブルの中の1つまたは複数のカラムの組み合わせに対して設定するもので、テーブルに格納されているデータをに格納されているデータを識別するための目印のようなものです。また、各レコードが他のレコードと区別され、データの重複や不整合が防止されます。m_usersなどのテーブル作成時に、すでに触れているものとなっております。以下のように、作成時、idカラムにPRIMARY KEYが設定されていることがわかります。

下記は前回までに作った「m_users」テーブルの内容を4行目の「user_name」を1行目の名前と同じになるように、UPDATE句で変更したものです。こちらを元に、中身を確認していきます。

カラム情報の取得

以下のコマンドを実行することで、テーブルのカラム情報が確認できます。「Key」のところに「PRI」とある箇所が、PRIMARY KEYが設定のあるカラムになります。

AUTO_INCREMENTの設定

テーブルを作成するときにカラムに AUTO_INCREMENT をつけると、データを追加した時にカラムに対して現在格納されている最大の数値に 1 を追加した数値を自動で格納することができます。カラムに連続した数値を自動で格納したい場合に便利です。以下のように、作成時、idカラムにAUTO_INCREMENTが設定されていることがわかります。

カラム情報の取得

以下のコマンドを実行することで、テーブルのカラム情報が確認できます。「Extra」のところに「auto_increment」とある箇所が、AUTO_INCREMENTが設定のあるカラムになります。

レコードの追加時のidカラム

auto_incrementをidカラムに設定することで、レコードの挿入時、自動的にidの最大数値+1の数値が割り当てられます。

上記のコマンドで21個目のレコードを挿入したあと、下記コマンドでテーブルの中身を確認すると、idカラムの21行目が、「21」となっていることがわかります。

パターンマッチングを行う(LIKE演算子)

WHERE 句で条件を指定するときに LIKE 演算子を使用すると、カラムの値と文字列が一致するかどうかを比較する時に特殊な文字 ‘%’ と ‘_’ を使ってパターンマッチングを行うことができます。

下記例題で、以前追加したuser_nameカラムが「new_records」を検索してみよう

補足

上記の検索結果の中に「Yamada Taro」が2件出てきているが、idがわかっていれば、どちらの「Yamada Taro」の情報が欲しいか一目瞭然になる。また、重複を防止するPRIMARY KEYを設定し、最大数値+1で数値を追加するようにAUTO_INCREMENTを設定したidカラムで検索することで、間違った検索をしなくなる。

コメント