介绍
在这个项目中,你将学习如何使用 MySQL 中的等值连接查询来检索每个国家的官方语言。这个项目将帮助你理解如何使用关系型数据库、执行复杂查询以及从数据库中提取特定信息。
👀 预览
+--------------------------------------+------------------+------------+
| Name | Language | IsOfficial |
+--------------------------------------+------------------+------------+
| 阿鲁巴 | 荷兰语 | 是 |
| 阿富汗 | 达里语 | 是 |
| 阿富汗 | 普什图语 | 是 |
...
| 南非 | 祖鲁语 | 是 |
| 津巴布韦 | 英语 | 是 |
+--------------------------------------+------------------+------------+
238行记录已选中 (0.002 秒)
🎯 任务
在这个项目中,你将学习:
- 如何使用
sudo命令无密码访问 MySQL - 如何从 SQL 脚本将数据导入 MySQL
- 如何编写等值连接查询来检索每个国家的官方语言
- 如何在 MySQL 控制台中执行 SQL 脚本
🏆 成果
完成这个项目后,你将能够:
- 理解关系型数据库和 SQL 查询的基础知识
- 执行涉及多个表和条件的复杂查询
- 根据给定要求从数据库中提取特定信息
- 应用你的 SQL 知识来解决实际的数据检索问题
访问 MySQL 并导入数据
在这一步中,你将学习如何使用sudo命令无密码访问 MySQL,并将/home/labex/project/world.sql中的数据导入 MySQL。
- 打开一个终端并运行以下命令来启动 MySQL 服务:
sudo service mysql start
- 使用
sudo命令无密码访问 MySQL:
sudo mysql
- 将
/home/labex/project/world.sql中的数据导入 MySQL 并切换到world数据库:
SOURCE /home/labex/project/world.sql;
USE world;
检索每个国家的官方语言
在这一步中,你将学习如何使用country表和countrylanguage表之间的等值连接以及JOIN ON WHERE语法来检索每个国家的全称及其官方语言。
- 打开
getOfficialLanguage.sql文件。 - 将以下 SQL 查询添加到
getOfficialLanguage.sql文件中:
SELECT country.Name, countrylanguage.Language, countrylanguage.IsOfficial
FROM country
JOIN countrylanguage ON country.Code = countrylanguage.CountryCode
WHERE countrylanguage.IsOfficial = 'T';
此查询将检索以下列:
Name:国家的全称Language:国家的官方语言IsOfficial:指示该语言是否为该国的官方语言('T'表示是,'F'表示否)
该查询在Code和CountryCode列上连接country表和countrylanguage表,然后过滤结果,只包括官方语言(其中IsOfficial为'T')。
运行查询
在这一步中,你将运行在上一步中创建的 SQL 脚本。
- 运行
getOfficialLanguage.sql脚本:
SOURCE /home/labex/project/getOfficialLanguage.sql;
这将执行查询并在 MySQL 控制台中显示结果。
你应该会看到类似于以下的输出:
+--------------------------------------+------------------+------------+
| Name | Language | IsOfficial |
+--------------------------------------+------------------+------------+
| 阿鲁巴 | 荷兰语 | 是 |
| 阿富汗 | 达里语 | 是 |
| 阿富汗 | 普什图语 | 是 |
| 安圭拉 | 英语 | 是 |
| 阿尔巴尼亚 | 阿尔巴尼亚语 | 是 |
| 安道尔 | 加泰罗尼亚语 | 是 |
| 荷属安的列斯群岛 | 荷兰语 | 是 |
| 荷属安的列斯群岛 | 帕皮阿门托语 | 是 |
| 阿拉伯联合酋长国 | 阿拉伯语 | 是 |
| 阿根廷 | 西班牙语 | 是 |
| 亚美尼亚 | 亚美尼亚语 | 是 |
...
| 南非 | 南非荷兰语 | 是 |
| 南非 | 英语 | 是 |
| 南非 | 科萨语 | 是 |
| 南非 | 祖鲁语 | 是 |
| 津巴布韦 | 英语 | 是 |
+--------------------------------------+------------------+------------+
238行记录已选中 (0.002 秒)
至此,该项目完成。你已经成功地使用 MySQL 中的等值连接查询检索到了每个国家的官方语言。
总结
恭喜你!你已经完成了这个项目。你可以在 LabEx 中练习更多实验来提升你的技能。
