Названия городов и соответствующие страны

SQLSQLBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь получать имена городов и соответствующих им имен стран из базы данных MySQL с использованием запроса equi-join. Этот проект поможет вам понять основы SQL-запросов и работу с реляционными базами данных.

👀 Предварительный просмотр

MariaDB [world]> SOURCE /home/labex/project/getCountryName.sql;
+----------------+-------------+
| CityName       | CountryName |
+----------------+-------------+
| Ораньестад      | Аруба       |
| Кабул           | Афганистан   |
| Кандагар        | Афганистан   |
| Херат           | Афганистан   |
| Мазар-шериф    | Афганистан   |
| Луанда          | Ангола       |
| Хуамбо          | Ангола       |
| Лобито          | Ангола       |
| Бенгуэла        | Ангола       |
| Намибе          | Ангола       |
+----------------+-------------+
10 rows in set (0.001 sec)

🎯 Задачи

В этом проекте вы научитесь:

  • Как обращаться к MySQL с использованием команды sudo без пароля
  • Как импортировать данные из SQL-файла в базу данных MySQL
  • Как писать запрос equi-join для получения данных из нескольких таблиц
  • Как упрощать имена таблиц и использовать псевдонимы в SQL-запросах
  • Как запускать SQL-скрипт в MySQL

🏆 Достижения

После завершения этого проекта вы сможете:

  • Разобраться в основной структуре и синтаксисе SQL-запросов
  • Выполнять операции equi-join для получения данных из нескольких таблиц
  • Упрощать имена таблиц и использовать псевдонимы, чтобы сделать ваши SQL-запросы более читаемыми
  • Импортировать и управлять данными в базе данных MySQL
  • Запускать SQL-скрипты для выполнения сложных запросов

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL sql(("SQL")) -.-> sql/BasicSQLCommandsGroup(["Basic SQL Commands"]) mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) sql(("SQL")) -.-> sql/AdvancedDataOperationsGroup(["Advanced Data Operations"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) sql(("SQL")) -.-> sql/DataManipulationandQueryingGroup(["Data Manipulation and Querying"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") sql/BasicSQLCommandsGroup -.-> sql/select("SELECT statements") sql/BasicSQLCommandsGroup -.-> sql/insert("INSERT INTO statements") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") sql/BasicSQLCommandsGroup -.-> sql/create_table("CREATE TABLE statements") sql/DataManipulationandQueryingGroup -.-> sql/where("WHERE clause") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") sql/AdvancedDataOperationsGroup -.-> sql/join("JOIN operations") subgraph Lab Skills mysql/use_database -.-> lab-301298{{"Названия городов и соответствующие страны"}} sql/select -.-> lab-301298{{"Названия городов и соответствующие страны"}} sql/insert -.-> lab-301298{{"Названия городов и соответствующие страны"}} mysql/select -.-> lab-301298{{"Названия городов и соответствующие страны"}} mysql/source -.-> lab-301298{{"Названия городов и соответствующие страны"}} sql/create_table -.-> lab-301298{{"Названия городов и соответствующие страны"}} sql/where -.-> lab-301298{{"Названия городов и соответствующие страны"}} mysql/database -.-> lab-301298{{"Названия городов и соответствующие страны"}} sql/join -.-> lab-301298{{"Названия городов и соответствующие страны"}} end

Доступ к MySQL и импорт данных

В этом шаге вы научитесь обращаться к MySQL с использованием команды sudo без пароля и импортировать данные из /home/labex/project/world.sql в MySQL.

  1. Запустите службу MySQL:
sudo service mysql start
  1. Доступ к MySQL:
sudo mysql
  1. Импортируйте данные из файла world.sql:
MariaDB [(none)]> SOURCE /home/labex/project/world.sql;

Это импортирует данные из файла world.sql в базу данных MySQL.

Получение имен городов и стран

В этом шаге вы научитесь получать имена городов и полные имена стран с использованием запроса equi-join.

  1. Создайте файл getCountryName.sql в директории /home/labex/project.
  2. Добавьте следующий код в файл getCountryName.sql:
SELECT ci.Name AS 'CityName', co.Name AS 'CountryName'
FROM city AS ci
JOIN country AS co ON ci.CountryCode = co.Code
LIMIT 10;

Этот запрос получит имена городов и соответствующих им имен стран из таблиц city и country и ограничит вывод первыми 10 записями.

Запуск скрипта

В этом шаге вы научитесь запускать скрипт getCountryName.sql в MySQL.

  1. Запустите скрипт в MySQL:
MariaDB [world]> SOURCE /home/labex/project/getCountryName.sql;

Это выполнит скрипт и покажет результаты:

+----------------+-------------+
| CityName       | CountryName |
+----------------+-------------+
| Ораньестад      | Аруба       |
| Кабул           | Афганистан   |
| Кандагар        | Афганистан   |
| Херат           | Афганистан   |
| Мазар-шериф    | Афганистан   |
| Луанда          | Ангола       |
| Хуамбо          | Ангола       |
| Лобито          | Ангола       |
| Бенгуэла        | Ангола       |
| Намибе          | Ангола       |
+----------------+-------------+
10 rows in set (0.001 sec)

Результирующая таблица имеет две колонки: CityName и CountryName, которые показывают имена городов и соответствующих им имен стран.

✨ Проверить решение и практиковаться

Резюме

Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.