はじめに
このプロジェクトでは、人事データベースの emp テーブルから情報を取得するための標準的な MySQL 関数の使い方を学びます。MySQL にアクセスし、データをインポートし、さまざまなデータ操作タスクを実行するための SQL スクリプトを書く練習を行います。
👀 プレビュー
MariaDB [personnel]> SOURCE /home/labex/project/BasicFunctions.sql;
+--------+--------+-------------+
| Name | Salary | Days on Job |
+--------+--------+-------------+
| HTIMS | 26.67 | 14990 |
| NELLA | 53.33 | 14925 |
| DRAW | 41.67 | 14923 |
| SENOJ | 99.17 | 14884 |
| NITRAM | 41.67 | 14705 |
| EKALB | 95.00 | 14855 |
| KRALC | 81.67 | 14816 |
| TTOCS | 100.00 | 12621 |
| GNIK | 166.67 | 14655 |
| RENRUT | 50.00 | 14725 |
| SMADA | 36.67 | 12621 |
| SEMAJ | 31.67 | 14639 |
| DROF | 100.00 | 14639 |
| RELLIM | 43.33 | 14588 |
+--------+--------+-------------+
14 rows in set (0.000 sec)
🎯 タスク
このプロジェクトでは、以下を学びます。
- パスワードなしで
sudoコマンドを使って MySQL にアクセスする方法 - SQL ファイルからデータを MySQL データベースにインポートする方法
empテーブルの各社員の名前、日給、勤務日数を取得する SQL スクリプトを書く方法REVERSE()、ROUND()、DATEDIFF()などの MySQL 関数を使ってデータを操作する方法
🏆 成果
このプロジェクトを完了すると、以下のことができるようになります。
- コマンドラインを使って効率的に MySQL データベースにアクセスして管理すること
- 標準的な MySQL 関数を使って複雑なデータ取得と操作タスクを実行すること
- データ処理とレポート作成を自動化するための SQL スクリプトを開発すること
- MySQL の基本とその実際の応用に対する理解を示すこと
MySQL にアクセスしてデータをインポートする
このステップでは、パスワードなしで sudo コマンドを使って MySQL にアクセスし、/home/labex/project/personnel.sql ファイルからのデータを personnel データベースにインポートする方法を学びます。
- MySQL サービスを起動する:
sudo service mysql start
sudoコマンドを使って MySQL にアクセスする:
sudo mysql
/home/labex/project/personnel.sqlファイルからのデータをpersonnelデータベースにインポートする:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;
これで、正常に MySQL にアクセスし、データを personnel データベースにインポートすることができました。
SQL スクリプトを書く
このステップでは、emp テーブルの各社員の名前、日給、勤務日数を取得する SQL スクリプトを書きます。
BasicFunctions.sqlファイルを開きます。BasicFunctions.sqlファイルに以下の SQL コードを追加します。
SELECT REVERSE(ename) AS `Name`,
ROUND(sal/30, 2) AS `Salary`,
DATEDIFF('2022-01-01', hiredate) AS `Days on Job`
FROM emp;
この SQL コードは以下のことを行います。
empテーブルの各社員の名前、日給、勤務日数を取得します。- 名前を逆順に表示します。
- 月を 30 日と仮定して日給を計算し、小数点以下 2 桁で丸めます。
- 雇用日と 2022 年 1 月 1 日の差を求めて勤務日数を計算します。
BasicFunctions.sqlファイルを保存します。
SQL スクリプトを実行する
このステップでは、前のステップで作成した SQL スクリプトを実行します。
- MySQL のプロンプトで、以下のコマンドを実行して
BasicFunctions.sqlスクリプトを実行します。
MariaDB [personnel]> SOURCE /home/labex/project/BasicFunctions.sql;
これにより、SQL スクリプトが実行され、MySQL のプロンプトに結果が表示されます。
出力は以下に似たものになるはずです。
+--------+--------+-------------+
| Name | Salary | Days on Job |
+--------+--------+-------------+
| HTIMS | 26.67 | 14990 |
| NELLA | 53.33 | 14925 |
| DRAW | 41.67 | 14923 |
| SENOJ | 99.17 | 14884 |
| NITRAM | 41.67 | 14705 |
| EKALB | 95.00 | 14855 |
| KRALC | 81.67 | 14816 |
| TTOCS | 100.00 | 12621 |
| GNIK | 166.67 | 14655 |
| RENRUT | 50.00 | 14725 |
| SMADA | 36.67 | 12621 |
| SEMAJ | 31.67 | 14639 |
| DROF | 100.00 | 14639 |
| RELLIM | 43.33 | 14588 |
+--------+--------+-------------+
14 rows in set (0.000 sec)
おめでとうございます!personnel データベースの emp テーブルから情報を取得するための SQL スクリプトを書き、実行することで、正常にこのプロジェクトを完了しました。
まとめ
おめでとうございます!このプロジェクトを完了しました。あなたのスキルを向上させるために、LabEx でさらに多くの実験を行って練習することができます。



