Управление базой данных и самообъединение SQL

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

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

Введение

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

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

Предварительный просмотр проекта по базе данных

🎯 Задачи

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

  • Как запустить службу MySQL и получить доступ к MySQL с использованием команды sudo без пароля.
  • Как создать базу данных, таблицу и вставить данные в таблицу.
  • Как написать запрос на самообъединение по таблице division, чтобы найти провинцию для каждого города.
  • Как запустить скрипт запроса на самообъединение в MySQL.

🏆 Достижения

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

  • Разобраться в основных операциях по созданию базы данных, таблицы и вставке данных в MySQL.
  • Выполнять запросы на самообъединение для извлечения связанной информации из таблицы.
  • Применять свои знания SQL-запросов для решения реальных задач.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL mysql(("MySQL")) -.-> mysql/DatabaseFunctionsandDataTypesGroup(["Database Functions and Data Types"]) mysql(("MySQL")) -.-> mysql/SystemManagementToolsGroup(["System Management Tools"]) mysql(("MySQL")) -.-> mysql/BasicKeywordsandStatementsGroup(["Basic Keywords and Statements"]) mysql/BasicKeywordsandStatementsGroup -.-> mysql/use_database("Database Selection") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_database("Database Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/create_table("Table Creation") mysql/BasicKeywordsandStatementsGroup -.-> mysql/select("Data Retrieval") mysql/BasicKeywordsandStatementsGroup -.-> mysql/insert("Data Insertion") mysql/BasicKeywordsandStatementsGroup -.-> mysql/source("External Code Execution") mysql/DatabaseFunctionsandDataTypesGroup -.-> mysql/database("DB Function - Info Retrieval") mysql/SystemManagementToolsGroup -.-> mysql/mysqladmin("Admin Utility") subgraph Lab Skills mysql/use_database -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/create_database -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/create_table -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/select -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/insert -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/source -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/database -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} mysql/mysqladmin -.-> lab-301300{{"Управление базой данных и самообъединение SQL"}} end

Запустить службу MySQL и получить доступ к MySQL

В этом шаге вы научитесь запускать службу MySQL и получать доступ к MySQL с использованием команды sudo без пароля.

  1. Запустите службу MySQL:
sudo service mysql start
  1. Получите доступ к MySQL:
sudo mysql

Теперь вы должны быть в состоянии получить доступ к приглашению MySQL без пароля.

Создать базу данных, таблицу и вставить данные

В этом шаге вы научитесь создавать базу данных, таблицу и вставлять данные в таблицу.

  1. Создайте базу данных division:
CREATE DATABASE division;
  1. Используйте базу данных division:
USE division;
  1. Создайте таблицу division:
CREATE TABLE division (
  id INT PRIMARY KEY,
  name VARCHAR(22),
  province_id INT
);
  1. Вставьте данные в таблицу division:
INSERT INTO division VALUES
(1, 'Ontario', NULL),
(2, 'Toronto', 1),
(3, 'Quebec', NULL),
(4, 'Montreal', 3);

Написать запрос на самообъединение

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

  1. Создайте новый файл с именем getProvince.sql в директории /home/labex/project.

  2. В файле 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.

  1. Вернитесь к приглашению MySQL:
sudo mysql
  1. Запустите скрипт 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, чтобы улучшить свои навыки.