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

🎯 任务
在本项目中,你将学习:
- 如何使用
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中练习更多实验以提升你的技能。