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

MySQLMySQLBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

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

👀 プレビュー

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

🎯 タスク

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

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

🏆 成果

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

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

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql(("MySQL")) -.-> mysql/TransactionManagementandSecurityGroup(["Transaction Management and Security"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_database("Database Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_table("Table Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/insert("Data Insertion") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/TransactionManagementandSecurityGroup -.-> mysql/identified_by("User Authentication") mysql/TransactionManagementandSecurityGroup -.-> mysql/grant_permission("Permission Granting") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/use_database -.-> lab-301272{{"シンプルなコース データベース"}} mysql/create_database -.-> lab-301272{{"シンプルなコース データベース"}} mysql/create_table -.-> lab-301272{{"シンプルなコース データベース"}} mysql/select -.-> lab-301272{{"シンプルなコース データベース"}} mysql/insert -.-> lab-301272{{"シンプルなコース データベース"}} mysql/source -.-> lab-301272{{"シンプルなコース データベース"}} mysql/identified_by -.-> lab-301272{{"シンプルなコース データベース"}} mysql/grant_permission -.-> lab-301272{{"シンプルなコース データベース"}} mysql/mysqladmin -.-> lab-301272{{"シンプルなコース データベース"}} end

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 でさらに多くの実験を行って、技術力を向上させることができます。