Введение
В этом проекте вы научитесь получать официальные языки каждой страны с использованием запроса equijoin в MySQL. Этот проект поможет вам понять, как работать с реляционными базами данных, выполнять сложные запросы и извлекать конкретную информацию из базы данных.
👀 Предварительный просмотр
+--------------------------------------+------------------+------------+
| Name | Language | IsOfficial |
+--------------------------------------+------------------+------------+
|阿鲁巴岛 | Нидерландский | T |
| Афганистан | Дари | T |
| Афганистан | Пащто | T |
...
| Южная Африка | Зулу | T |
| Зимбабве | Английский | T |
+--------------------------------------+------------------+------------+
238 строк в наборе (0,002 сек)
🎯 Задачи
В этом проекте вы научитесь:
- Как обращаться к MySQL с использованием команды
sudoбез пароля - Как импортировать данные в MySQL из SQL-скрипта
- Как писать запрос equijoin для получения официальных языков каждой страны
- Как выполнять SQL-скрипт в консоли MySQL
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в основах реляционных баз данных и SQL-запросов
- Выполнять сложные запросы, в которых участвуют несколько таблиц и условий
- Извлекать конкретную информацию из базы данных в соответствии с заданными требованиями
- Применять свои знания SQL для решения реальных задач по извлечению данных
Доступ к MySQL и импорт данных
В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/world.sql в MySQL.
- Откройте терминал и выполните следующую команду, чтобы запустить службу MySQL:
sudo service mysql start
- Доступ к MySQL с использованием команды
sudoбез пароля:
sudo mysql
- Импортируйте данные из
/home/labex/project/world.sqlв MySQL и переключитесь на базу данныхworld:
SOURCE /home/labex/project/world.sql;
USE world;
Получить официальные языки каждой страны
В этом шаге вы научитесь получать полное название каждой страны и ее официальный язык с использованием equijoin между таблицами 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'- для true,'F'- для false)
Запрос объединяет таблицы country и countrylanguage по столбцам Code и CountryCode, а затем фильтрует результаты, чтобы включать только официальные языки (где IsOfficial равно 'T').
Запустить запрос
В этом шаге вы запустите SQL-скрипт, который вы создали на предыдущем шаге.
- Запустите скрипт
getOfficialLanguage.sql:
SOURCE /home/labex/project/getOfficialLanguage.sql;
Это выполнит запрос и покажет результаты в консоли MySQL.
Вы должны увидеть вывод, похожий на следующий:
+--------------------------------------+------------------+------------+
| Name | Language | IsOfficial |
+--------------------------------------+------------------+------------+
|阿鲁巴岛 | Нидерландский | T |
| Афганистан | Дари | T |
| Афганистан | Пащто | T |
| Ангилья | Английский | T |
| Албания | Албанский | T |
| Андорра | Каталанский | T |
| Антильские Нидерланды | Нидерландский | T |
| Антильские Нидерланды | Папьяменто | T |
| Объединенные Арабские Эмираты | Арабский | T |
| Аргентина | Испанский | T |
| Армения | Армянский | T |
...
| Южная Африка | Африкаанс | T |
| Южная Африка | Английский | T |
| Южная Африка | Хоса | T |
| Южная Африка | Зулу | T |
| Зимбабве | Английский | T |
+--------------------------------------+------------------+------------+
238 строк в наборе (0,002 сек)
Это завершает проект. Вы успешно получили официальные языки каждой страны с использованием запроса equijoin в MySQL.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.
