MySQL 変換関数チャレンジ

MySQLBeginner
オンラインで実践に進む

はじめに

このプロジェクトでは、MySQL の一般的な変換関数を使用して、personnel データベースのempテーブルから関連する情報を抽出する方法を学びます。MySQL にアクセスし、データをインポートし、データに対してさまざまな日付と時刻の変換を行うスクリプトを書く方法を学びます。

👀 プレビュー

MariaDB [personnel]> SOURCE /home/labex/project/ConversionFunctions.sql;
+------------+------------+
| エントリ日付 | 新しい日付   |
+------------+------------+
| 80-12      | 1980-12-31 |
| 81-02      | NULL       |
| 81-02      | NULL       |
| 81-04      | 1981-04-16 |
| 81-09      | NULL       |
| 81-05      | 1981-05-15 |
| 81-06      | 1981-06-23 |
| 87-06      | 1987-06-27 |
| 81-11      | 1981-11-31 |
| 81-09      | 1981-09-22 |
| 87-06      | 1987-06-27 |
| 81-12      | 1981-12-17 |
| 81-12      | 1981-12-17 |
| 82-01      | NULL       |
+------------+------------+
14行のセット、4つの警告 (0.000秒)

🎯 タスク

このプロジェクトでは、以下を学びます。

  • パスワードなしでsudoコマンドを使用して MySQL にアクセスする方法
  • SQL ファイルからデータを MySQL データベースにインポートする方法
  • DATE_FORMAT()やSTR_TO_DATE()などの関数を使用して日付と時刻の変換を行う SQL スクリプトを書く方法
  • 適切なエイリアスで変換関数の結果を表示する方法

🏆 成果

このプロジェクトを完了すると、以下のことができるようになります。

  • MySQL の変換関数を使用して日付と時刻のデータを操作および表示する方法を理解する
  • 複雑なデータ変換を行う SQL スクリプトを書く
  • MySQL の知識を適用して現実世界のデータ処理問題を解決する

MySQL にアクセスしてデータをインポートする

このステップでは、パスワードなしでsudoコマンドを使用して MySQL にアクセスし、/home/labex/project/personnel.sqlのデータをpersonnelデータベースにインポートする方法を学びます。

  1. MySQL サービスを起動する:
sudo service mysql start
  1. パスワードなしでsudoコマンドを使用して MySQL にアクセスする:
sudo mysql
  1. /home/labex/project/personnel.sqlのデータをpersonnelデータベースにインポートする:
MariaDB [(none)]> SOURCE /home/labex/project/personnel.sql;

変換関数のスクリプトを書く

このステップでは、MySQL の一般的な変換関数を使用して personnel データベースの emp テーブルから関連情報を抽出するための ConversionFunctions.sql スクリプトを書く方法を学びます。

  1. ConversionFunctions.sql ファイルを開きます。
  2. ConversionFunctions.sql ファイルに次の SQL クエリを追加します。
SELECT DATE_FORMAT(hiredate, '%y-%m') AS `エントリ日付`,
       DATE_FORMAT(STR_TO_DATE(CONCAT(DATE_FORMAT(hiredate, '%Y%m%d') + 14), '%Y%m%d'), '%Y-%m-%d') AS `新しい日付`
FROM emp;

このクエリは以下のタスクを実行します。

  • emp テーブルのすべての従業員の採用日と修正日を抽出します。
  • 採用日を yy-MM 形式で表示します。
  • 採用日に 14 日を加え、STR_TO_DATE() 関数を使用して日付形式に変換し、yyyy-MM-dd 形式で表示します。
  • 結果を表示するためにエイリアス エントリ日付 と 新しい日付 を使用します。
  1. ConversionFunctions.sql ファイルを保存します。

変換関数のスクリプトを実行する

このステップでは、MySQL で ConversionFunctions.sql スクリプトを実行する方法を学びます。

  1. MySQL のプロンプトで、以下のコマンドを実行して ConversionFunctions.sql スクリプトを実行します。
MariaDB [personnel]> SOURCE /home/labex/project/ConversionFunctions.sql;

これにより、ConversionFunctions.sql ファイル内の SQL クエリが実行され、結果が表示されます。

出力は以下に似たものになるはずです。

+------------+------------+
| エントリ日付 | 新しい日付   |
+------------+------------+
| 80-12      | 1980-12-31 |
| 81-02      | NULL       |
| 81-02      | NULL       |
| 81-04      | 1981-04-16 |
| 81-09      | NULL       |
| 81-05      | 1981-05-15 |
| 81-06      | 1981-06-23 |
| 87-06      | 1987-06-27 |
| 81-11      | 1981-11-31 |
| 81-09      | 1981-09-22 |
| 87-06      | 1987-06-27 |
| 81-12      | 1981-12-17 |
| 81-12      | 1981-12-17 |
| 82-01      | NULL       |
+------------+------------+
14行のセット、4つの警告 (0.000秒)

この出力は、emp テーブルのすべての従業員の採用日と修正日を表示し、採用日は yy-MM 形式で、修正日は yyyy-MM-dd 形式で表示されます。

まとめ

おめでとうございます!このプロジェクトを完了しました。実力を向上させるために、LabEx でさらに多くの実験を行って練習してください。

✨ 解答を確認して練習✨ 解答を確認して練習✨ 解答を確認して練習