シンプルなコース データベース

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

はじめに

このプロジェクトでは、MySQL を使って簡単なコースデータベースを作成する方法を学びます。このプロジェクトでは、MySQL データベースのセットアップ、テーブルの作成、CSV ファイルからのデータのデータベースへのインポートが行われます。

👀 プレビュー

未完成のコースデータベースのプレビュー

🎯 タスク

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

  • MySQL データベースを起動し、MySQL コマンドラインクライアントを使ってアクセスする方法
  • 必要な権限を持つデータベースとユーザを作成する方法
  • SQL スクリプトからデータベーススキーマをインポートする方法
  • CSV ファイルからのデータをデータベーステーブルにインポートする方法

🏆 成果

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

  • MySQL データベースの基本構造とセットアップを理解すること
  • データベース、テーブルの作成、データのインポートなどの一般的なデータベース操作を行うこと
  • 知識を応用して、簡単なコースデータベースシステムを構築して管理すること

MySQL データベースを起動して MySQL にアクセスする

このステップでは、MySQL データベースを起動し、MySQL コマンドラインクライアントを使ってアクセスする方法を学びます。

  1. 次のコマンドを使って MySQL データベースサービスを起動します。

    sudo service mysql start
    
  2. 次のコマンドを使って MySQL コマンドラインクライアントにアクセスします。

    sudo mysql
    

    これにより、パスワードなしで MySQL コマンドラインクライアントにログインします。

LabEx データベースとユーザーを作成する

このステップでは、必要な権限を持つ labex データベースと labex ユーザを作成する方法を学びます。

  1. 次の SQL ステートメントを使って labex データベースを作成します。

    CREATE DATABASE labex;
    
  2. 次の SQL ステートメントを使って必要な権限を持つ labex ユーザを作成します。

    GRANT ALL PRIVILEGES ON labex.* TO 'labex'@'%' IDENTIFIED BY 'labex';
    FLUSH PRIVILEGES;
    

    これにより、パスワードが labexlabex ユーザが作成され、このユーザに labex データベースのすべての権限が付与されます。

データベース スキーマをインポートする

このステップでは、labex_db_info.sql スクリプトからデータベース スキーマをインポートする方法を学びます。

  1. データベース スキーマをインポートするには、次の SQL ステートメントを実行します。

    SOURCE /home/labex/project/labex_db_info.sql;
    

    これにより、labex データベースに必要なテーブル (usercourse、および usercourse) が作成されます。

CSV データ ファイルをインポートする

このステップでは、CSV データ ファイルを対応するテーブルにインポートする方法を学びます。

  1. 次の SQL ステートメントを使って labex_user.csv ファイルを user テーブルにインポートします。

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';
    
  2. 次の SQL ステートメントを使って labex_course.csv ファイルを course テーブルにインポートします。

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_course.csv' INTO TABLE course FIELDS TERMINATED BY ',';
    
  3. 次の SQL ステートメントを使って labex_usercourse.csv ファイルを usercourse テーブルにインポートします。

    LOAD DATA LOCAL INFILE '/home/labex/project/labex_usercourse.csv' INTO TABLE usercourse FIELDS TERMINATED BY ',';
    

データインポートの検証

このステップでは、テーブルを照会することでデータインポートを検証する方法を学びます。

  1. usercourse テーブルのデータを確認するには、次の SQL ステートメントを実行します。

    SELECT * FROM usercourse LIMIT 10;
    

    これにより、usercourse テーブルの最初の 10 行が表示され、データが正しくインポートされたことを確認できます。

出力は次のようになります。

MariaDB [labex]> SELECT * FROM usercourse LIMIT 10;
+---------+-----------+------------+
| user_id | course_id | study_time |
+---------+-----------+------------+
|     279 |       742 |         96 |
|     114 |       744 |         74 |
|     492 |       680 |         84 |
|      65 |       498 |         46 |
|     141 |       729 |         23 |
|     193 |       729 |         18 |
|     943 |        63 |         98 |
|     437 |       498 |         28 |
|     942 |       742 |         76 |
|     616 |         1 |          7 |
+---------+-----------+------------+
10 rows in set (0.000 sec)

おめでとうございます!あなたは正常に LabEx データベースを作成し、必要なデータをインポートしました。これで、このデータベースをさらなる分析や開発に使用できます。

まとめ

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

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