Введение
В этом проекте вы научитесь создавать базу данных, таблицу и вставлять данные в таблицу. Также вы узнаете, как выполнять запрос на самообъединение данных, чтобы найти провинцию, к которой принадлежит город.
👀 Предварительный просмотр

🎯 Задачи
В этом проекте вы научитесь:
- Как запустить службу MySQL и получить доступ к MySQL с использованием команды
sudoбез пароля. - Как создать базу данных, таблицу и вставить данные в таблицу.
- Как написать запрос на самообъединение по таблице
division, чтобы найти провинцию для каждого города. - Как запустить скрипт запроса на самообъединение в MySQL.
🏆 Достижения
После завершения этого проекта вы сможете:
- Разобраться в основных операциях по созданию базы данных, таблицы и вставке данных в MySQL.
- Выполнять запросы на самообъединение для извлечения связанной информации из таблицы.
- Применять свои знания SQL-запросов для решения реальных задач.
Запустить службу MySQL и получить доступ к MySQL
В этом шаге вы научитесь запускать службу MySQL и получать доступ к MySQL с использованием команды sudo без пароля.
- Запустите службу MySQL:
sudo service mysql start
- Получите доступ к MySQL:
sudo mysql
Теперь вы должны быть в состоянии получить доступ к приглашению MySQL без пароля.
Создать базу данных, таблицу и вставить данные
В этом шаге вы научитесь создавать базу данных, таблицу и вставлять данные в таблицу.
- Создайте базу данных
division:
CREATE DATABASE division;
- Используйте базу данных
division:
USE division;
- Создайте таблицу
division:
CREATE TABLE division (
id INT PRIMARY KEY,
name VARCHAR(22),
province_id INT
);
- Вставьте данные в таблицу
division:
INSERT INTO division VALUES
(1, 'Ontario', NULL),
(2, 'Toronto', 1),
(3, 'Quebec', NULL),
(4, 'Montreal', 3);
Написать запрос на самообъединение
В этом шаге вы научитесь писать запрос на самообъединение по таблице division, чтобы найти провинцию, к которой принадлежит город.
Создайте новый файл с именем
getProvince.sqlв директории/home/labex/project.В файле
getProvince.sqlдобавьте следующий запрос:
SELECT city.name AS City, province.name AS Province
FROM division AS city
JOIN division AS province ON city.province_id = province.id
WHERE city.province_id IS NOT NULL;
Этот запрос выполняет самообъединение по таблице division, где таблица city соединяется с таблицей province на основе столбца province_id. Условие WHERE гарантирует, что в результат включаются только города с непустым значением province_id.
Результирующая таблица будет иметь столбцы с метками City и Province.
Запустить запрос на самообъединение
В этом шаге вы научитесь запускать скрипт запроса на самообъединение в MySQL.
- Вернитесь к приглашению MySQL:
sudo mysql
- Запустите скрипт
getProvince.sql:
SOURCE /home/labex/project/getProvince.sql;
Вы должны увидеть следующий вывод:
MariaDB [division]> SOURCE /home/labex/project/getProvince.sql;
+----------+----------+
| City | Province |
+----------+----------+
| Toronto | Ontario |
| Montreal | Quebec |
+----------+----------+
2 rows in set (0.000 sec)
Этот вывод показывает города и соответствующие им провинции, полученные с помощью запроса на самообъединение.
Поздравляем! Вы успешно завершили проект, создав базу данных, таблицу, вставив данные и выполнив запрос на самообъединение, чтобы найти провинцию для каждого города.
Резюме
Поздравляем! Вы завершили этот проект. Вы можете практиковаться в более многих лабораторных работах в LabEx, чтобы улучшить свои навыки.



