一个简单的课程数据库

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 数据库中创建必要的表(usercourseusercourse)。

✨ 查看解决方案并练习

导入 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. 执行以下 SQL 语句来检查 usercourse 表中的数据:

    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 中练习更多实验以提升技能。