汎用機能の包括的なもの

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

はじめに

このプロジェクトでは、MySQL にアクセスし、データをインポートし、MySQL の組み込み関数を使用して従業員情報を照会する方法を学びます。

👀 プレビュー

MariaDB [personnel]> SOURCE /home/labex/project/answer.sql;
+------------------------------------------+---------------+----------------+
| Name                                     | Annual Income | Current User   |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000       | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000     | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000     | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000     | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000     | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000     | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000     | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000     | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000     | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000     | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000     | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000       | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000     | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000     | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)

🎯 タスク

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

  • sudo コマンドを使用してパスワードなしで MySQL にアクセスする方法
  • SQL ファイルからデータを MySQL データベースにインポートする方法
  • emp テーブルから従業員の名前と年収を照会する方法
  • SHA 関数を使用して従業員の名前を暗号化する方法
  • 年収を 3 桁の小数でフォーマットする方法
  • 現在のデータベースアカウント情報を表示する方法

🏆 成果

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

  • コマンドラインを使って自信を持って MySQL データベースにアクセスして管理することができる
  • データインポートと基本的なデータ照会操作を行うことができる
  • MySQL の組み込み関数を適用してデータを操作してフォーマットすることができる
  • データセキュリティと暗号化の重要性を理解することができる
  • MySQL データベースと SQL 照会を扱う能力を示すことができる

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

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

  1. ターミナルを開き、次のコマンドを使用して MySQL サービスを起動します。
sudo service mysql start
  1. sudo コマンドを使用して MySQL にアクセスします。
sudo mysql
  1. /home/labex/project/personnel.sql のデータを MySQL にインポートして personnel データベースに切り替えます。
MariaDB [None]> SOURCE /home/labex/project/personnel.sql;
✨ 解答を確認して練習

従業員の名前と年収を照会する

このステップでは、emp テーブルのすべての従業員の名前と年収を照会し、現在の操作のデータベースアカウント情報を表示する方法を学びます。

  1. answer.sql ファイルに次のコードを追加します。
SELECT SHA(emp.ename) AS 'Name',
       FORMAT(IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0), 3) AS 'Annual Income',
       CURRENT_USER() AS 'Current User'
FROM emp;

このコードの機能は次の通りです。

  • SHA(emp.ename): SHA 関数を使用して従業員の名前を暗号化します。
  • IFNULL(emp.sal, 0) + IFNULL(emp.comm, 0): 給与 (sal) とボーナス (comm) の列を加算して年収を計算し、NULL 値を 0 に置き換えます。
  • FORMAT(..., 3): 年収を 3 桁の小数でフォーマットします。
  • CURRENT_USER(): 現在のデータベースアカウント情報を表示します。
  1. answer.sql ファイルを実行します。
SOURCE /home/labex/project/answer.sql;

照会は次の出力を返します。

+------------------------------------------+---------------+----------------+
| Name                                     | Annual Income | Current User   |
+------------------------------------------+---------------+----------------+
| bc70be7f38046e64dd779f276ce4a20f99153f26 | 800.000       | root@localhost |
| 6e1cae96112fe249dc0fb4f9a004c9dc04315608 | 1,900.000     | root@localhost |
| 7c7f32425fa076caeed971f5549c82ffa88fd0eb | 1,750.000     | root@localhost |
| a1787353201302d65c744486c1e940709fee0eff | 2,975.000     | root@localhost |
| f3b9b87a2f377c006e935f32dd25ea55ebf7f551 | 2,650.000     | root@localhost |
| 7cde55b3a6e9cf610db200b6b9cc9b5adca1657f | 2,850.000     | root@localhost |
| 4f90e103facadd0787d7a6828f096f6e66595a47 | 2,450.000     | root@localhost |
| 7634fdc80aa4027cfd5e966abc1b6b4b4ea19fbe | 3,000.000     | root@localhost |
| 50b8a339f82ab9ce6c55bf8ea10dad8513e9d142 | 5,000.000     | root@localhost |
| e043e3d3ebddafaa5ed97f7dcc4d236286f8ad4a | 1,500.000     | root@localhost |
| 2d2eb27e1db8836e44cd4e94f58b89728331e8de | 1,100.000     | root@localhost |
| 6afc44af3cbdbb6718e8da8715a1956b895dc5d2 | 950.000       | root@localhost |
| 7e5b07d8bbb5e0a55b5d428476d4691b3ee97b4a | 3,000.000     | root@localhost |
| 25d5ae3b0e0dac511ba94e337b88e0887538b31f | 1,300.000     | root@localhost |
+------------------------------------------+---------------+----------------+
14 rows in set (0.000 sec)

照会は /home/labex/project/answer.sql ファイルに保存されています。

✨ 解答を確認して練習

まとめ

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