JavaエンジニアのためのMySQL基礎講座:これだけは知っておこう

目次
はじめに
本記事はIT会社勤務の100名程の研修生を見てきた元Java研修講師が、Javaエンジニアのための知っておきたいMySQLの基礎講座についてお話ししていきます。
MySQLについて
まずはじめにMySQLとは、データを表の形で整理しSQLという言語で操作できるRDBMS(リレーショナルデータベース管理システム)の1つです。
基本構文①:SELECT
データベースに保存されているデータを検索するときに使います。
SELECT 「検索したい列名」 FROM 「検索するテーブル名」が基本構文となります。
その中でも条件を指定したい場合に使う「WHERE句」や並び替えたいときに使う「ORDER BY句」などがあります。
社員の情報(社員番号、名前、年齢、住所)が登録されている社員テーブル(Employee)があるとします。社員番号、名前、年齢、住所から検索したい列名を選んでください。
実際のSQL文としては、
“`
SELECT
EMPLOYEE_NUMBER,
NAME,
AGE,
HOME_ADDRESS
FROM
EMPLOYEE
“`
となります。テーブルの情報を全て検索したい場合は以下のようにも書けます。
“`
SELECT
*
FROM
EMPLOYEE
“`
ある1人の特定の社員を検索したい場合や、年齢がある年齢より低い、高い社員を検索したい場合にはWHERE句を書き加える必要があります。条件を複数設定したい場合は、「AND」や「OR」などで条件を複数指定する必要があります。
“`
SELECT
*
FROM
EMPLOYEE
WHERE
EMPLOYEE_NUMBER = 0001
“`
“`
SELECT
*
FROM
EMPLOYEE
WHERE
AGE <= 30
“`
年齢順に並び替えたり、社員番号順に並び替えたい場合は以下のように記述します。
普通に書けば昇順になりますが、降順にしたい場合は「DESC」を付けると降順になります。
“`
SELECT
*
FROM
EMPLOYEE
ORDER BY
EMPLOYEE_NUMBER
“`
基本構文②:INSERT
データベースに新しくデータを登録するときに使います。
INSERT INTO 「登録したいテーブル名」VALUES(登録するデータ①,登録するデータ②,・・・登録するデータX)が基本構文となります。
同様に、社員テーブルがあるとします。新たに入社される方がいて、その社員さんをデータベースに保存する作業を行います。
“`
INSERT INTO
EMPLOYEE
VALUES(
1250001,
山本一郎,
25,
東京都
)
“`
上記のようにINSERT文を書くことで、新しい社員情報をテーブルに登録することができます。
基本構文③:UPDATE
データベースに保存されているデータを更新するときに使います。
UPDATE 「更新したいテーブル名」 SET 「更新したい列名」= 「実際の値」が基本構文となります。同様に社員テーブルがあるとします。既に入社されている社員さんが引っ越しをして住所が変わったとします。そのときにUPDATE文を使ってデータベースの情報を更新します。
“`
UPDATE
EMPLOYEE
SET
HOME_ADDRESS = “千葉県”
“`
上記のようにUPDATE文を書くことで社員情報の更新を行うことができます。
基本構文④:DELETE
データベースに保存されているデータを削除するときに使います。
DELETE FROM 「削除処理したいテーブル名」が基本構文となります。しかしこのままのDELETE文だと、テーブルに保存されている全ての情報が消えてしまうので、一般的には「WHERE句」で条件を指定してその情報のみ、削除処理されることが多い。ある特定の社員さんが退職するため、社員テーブルから情報を削除する処理を行う。
“`
DELETE FROM
EMPLOYEE
WHERE
EMPLOYEE_NUMBER = 0001
“`
上記のようにDELETE文を書くことで、特定の社員情報を削除することができる。
注意点
注意するべき点:
- 構文エラーが無くても期待している結果通りに動かないことがある。
MySQLなどのSQL文を書くことができるツールもしっかりと準備を整えれば使うことができるが、構文にエラーが無くてもSQLが実行される。しかしそのSQLが自分のしたい処理と違った結果を招くこともあるため、そこを解決することが独学だと厳しくなる。
まとめ
バックエンドの開発を行なっていく上では、データベースの知識も必ず必要になってくると思うので、この記事を参考にしていただき、まずは基本構文4つの使い方を覚えて、その後に他にも重要な知識を付けていけば実務で役立つこと間違いなし!!