介绍
在本项目中,你将学习如何使用 MySQL 创建一个简单的课程数据库。该项目包括设置 MySQL 数据库、创建表以及将 CSV 文件中的数据导入数据库。
👀 预览

🎯 任务
在本项目中,你将学习:
- 如何启动 MySQL 数据库并使用 MySQL 命令行客户端访问它
- 如何创建一个具有必要权限的数据库和用户
- 如何从 SQL 脚本导入数据库模式
- 如何将 CSV 文件中的数据导入数据库表
🏆 成果
完成本项目后,你将能够:
- 理解 MySQL 数据库的基本结构和设置
- 执行常见的数据库操作,如创建数据库、表和导入数据
- 应用所学知识构建和管理一个简单的课程数据库系统
启动 MySQL 数据库并访问 MySQL
在这一步中,你将学习如何启动 MySQL 数据库并使用 MySQL 命令行客户端访问它。
使用以下命令启动 MySQL 数据库服务:
sudo service mysql start使用以下命令访问 MySQL 命令行客户端:
sudo mysql这将使你无需密码登录到 MySQL 命令行客户端。
创建 LabEx 数据库和用户
在这一步中,你将学习如何创建 labex 数据库以及具有必要权限的 labex 用户。
使用以下 SQL 语句创建
labex数据库:CREATE DATABASE labex;使用以下 SQL 语句创建具有必要权限的
labex用户:GRANT ALL PRIVILEGES ON labex.* TO 'labex'@'%' IDENTIFIED BY 'labex'; FLUSH PRIVILEGES;这将创建密码为
labex的labex用户,并授予该用户对labex数据库的所有权限。
导入数据库模式
在这一步中,你将学习如何从 labex_db_info.sql 脚本导入数据库模式。
执行以下 SQL 语句以导入数据库模式:
SOURCE /home/labex/project/labex_db_info.sql;这将在
labex数据库中创建必要的表(user、course和usercourse)。
导入 CSV 数据文件
在这一步中,你将学习如何将 CSV 数据文件导入到相应的表中。
使用以下 SQL 语句将
labex_user.csv文件导入到user表中:LOAD DATA LOCAL INFILE '/home/labex/project/labex_user.csv' INTO TABLE user FIELDS TERMINATED BY ',';使用以下 SQL 语句将
labex_course.csv文件导入到course表中:LOAD DATA LOCAL INFILE '/home/labex/project/labex_course.csv' INTO TABLE course FIELDS TERMINATED BY ',';使用以下 SQL 语句将
labex_usercourse.csv文件导入到usercourse表中:LOAD DATA LOCAL INFILE '/home/labex/project/labex_usercourse.csv' INTO TABLE usercourse FIELDS TERMINATED BY ',';
验证数据导入
在这一步中,你将学习如何通过查询表来验证数据导入情况。
执行以下 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 中练习更多实验以提升技能。



