SQL 数据库创建与非等值连接查询

MySQLMySQLBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个项目中,你将学习如何创建数据库、表以及插入数据。然后,你将执行一个非等值连接查询,根据数据库中的信息检索所有用户的等级。

👀 预览

数据库项目预览

🎯 任务

在这个项目中,你将学习:

  • 如何使用sudo命令无密码访问MySQL
  • 如何创建vip数据库
  • 如何创建leveluser表并向其中插入数据
  • 如何编写SQL查询来检索所有用户的等级

🏆 成果

完成这个项目后,你将能够:

  • 理解创建数据库和表的过程
  • 获得向表中插入数据的经验
  • 学习如何执行非等值连接查询以从多个表中检索数据
  • 应用你的SQL知识解决实际问题

访问MySQL并创建数据库

在这一步中,你将学习如何使用sudo命令无密码访问MySQL,并创建vip数据库。

  1. 启动MySQL服务:
sudo service mysql start
  1. 使用sudo命令访问MySQL:
sudo mysql
  1. 使用提供的字符集创建vip数据库:
CREATE SCHEMA vip CHARSET UTF8;
  1. 使用vip数据库:
USE vip;

创建表并插入数据

在这一步中,你将学习如何创建level表和user表,并向其中插入数据。

  1. 创建level表:
CREATE TABLE level (
name VARCHAR(64) NOT NULL,
low INT NOT NULL,
high INT NOT NULL
);
  1. level表中插入数据:
INSERT INTO level VALUES
('L1', 0, 9),
('L2', 10, 99),
('L3', 100, 499),
('L4', 500, 999);
  1. 创建user表:
CREATE TABLE user (
name VARCHAR(32) NOT NULL,
score INT NOT NULL
);
  1. user表中插入数据:
INSERT INTO user VALUES
('Jane', 5),
('John', 15),
('Mary', 155);

获取用户等级

在这一步中,你将学习如何根据vip数据库中的信息获取所有用户的等级。

  1. 将以下代码添加到getLevel.sql文件中:

    SELECT u.name AS `User`, l.name AS `Level`
    FROM `user` u, `level` l
    WHERE u.score BETWEEN l.low AND l.high;
  2. 保存并关闭文件。

  3. 在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    |
+------+-------+
3 rows in set (0.000 sec)

恭喜!你已完成该项目。

✨ 查看解决方案并练习

总结

恭喜!你已完成这个项目。你可以在LabEx中练习更多实验来提升你的技能。