介绍
在本项目中,你将学习如何创建数据库、表,并执行右外连接查询以根据用户分数获取所有用户的等级。
👀 预览

🎯 任务
在本项目中,你将学习:
- 如何使用
sudo命令无密码访问 MySQL - 如何创建数据库和表
- 如何向表中插入数据
- 如何执行右外连接查询以获取所有用户的等级
🏆 成果
完成本项目后,你将能够:
- 理解 MySQL 数据库管理的基础知识
- 在数据库中创建和操作表
- 执行复杂的 SQL 查询,如右外连接,以检索数据
- 将你的 SQL 知识应用于实际场景,如视频或音频应用中的用户管理
在本项目中,你将学习如何创建数据库、表,并执行右外连接查询以根据用户分数获取所有用户的等级。

在本项目中,你将学习:
sudo命令无密码访问 MySQL完成本项目后,你将能够:
在这一步中,你将学习如何使用sudo命令无密码访问 MySQL,并创建vip数据库。
sudo service mysql start
sudo mysql
vip数据库:CREATE SCHEMA vip CHARSET UTF8;
USE vip;
现在你已成功创建vip数据库。
在这一步中,你将创建level表和user表,并向其中插入数据。
level表:CREATE TABLE level (
name VARCHAR(64) NOT NULL,
low INT NOT NULL,
high INT NOT NULL
);
level表中插入数据:INSERT INTO level VALUES
('L1', 0, 9),
('L2', 10, 99),
('L3', 100, 499),
('L4', 500, 999);
user表:CREATE TABLE user (
name VARCHAR(32) NOT NULL,
score INT NOT NULL
);
user表中插入数据:INSERT INTO user VALUES
('Jane', 5),
('John', 15),
('Mary', 155),
('David', 9999);
现在你已成功创建表并向其中插入了数据。
在这一步中,你将执行一个右外连接查询来获取所有用户的等级。
getLevel.sql文件并添加以下查询:SELECT u.name AS `User`, l.name AS `Level`
FROM `level` l
RIGHT JOIN `user` u ON u.score BETWEEN l.low AND l.high;
此查询在level表和user表之间执行右外连接,并检索用户名和相应的等级名称。
getLevel.sql文件。在这一步中,你将在 MySQL 中运行getLevel.sql脚本。
SOURCE /home/labex/project/getLevel.sql;
你应该会看到以下输出:
MariaDB [vip]> SOURCE /home/labex/project/getLevel.sql;
+-------+-------+
| User | Level |
+-------+-------+
| Jane | L1 |
| John | L2 |
| Mary | L3 |
| David | NULL |
+-------+-------+
4 rows in set (0.000 sec)
输出显示了每个用户的用户名和相应的等级名称。如果用户的分数不在任何等级范围内,则等级显示为NULL。
恭喜你!你已通过创建数据库、表、插入数据以及执行右外连接查询来获取所有用户的等级,成功完成了该项目。
恭喜你!你已完成此项目。你可以在 LabEx 中练习更多实验以提升你的技能。