Примечание
ЭТО АРХИВНАЯ ВЕРСИЯ КУРСА!
Материалы предназначаются для пересдающих дисциплину "ОП.08 - Основы проектирования баз данных" в соответствии с учебными планами СПО годов набора ДО 2024-го. Для того чтобы ознакомиться с актуальным курсом "ИТ.03 - Основы проектирования баз данных" включающим интерактивные примеры, перейдите по ссылке.
Материалы были перенесены со старого сайта с минимальной доработкой, поэтому не все возможности курса могут работать как ожидается, где-то может слететь форматирование.
Домашние задания в рамках курса проверяться не будут!
ОП.08 - 03 - SQL. СУБД MySQL. MySQL Workbench. Создание и удаление БД
Введение
SQL (Structured Query Language) — это универсальный язык для работы с реляционными базами данных. Он используется повсеместно: от небольших приложений до крупных корпоративных систем. В рамках данного курса мы изучим основы SQL и научимся работать с одной из самых популярных СУБД — MySQL. Это знание будет полезно как для разработки программного обеспечения, так и для анализа данных.
Язык SQL
Для работы с реляционными базами данных используется SQL — стандартный язык управления данными. Это универсальный инструмент, который поддерживается всеми популярными СУБД, такими как MySQL, PostgreSQL, SQLite и другие.
С помощью SQL можно:
- Добавлять данные: записывать новые строки в таблицу.
- Обновлять данные: изменять существующую информацию.
- Удалять данные: удалять ненужные записи.
- Получать данные: искать и фильтровать нужную информацию.
Типы команд SQL
- DDL (Data Definition Language): Создание и изменение структуры базы данных (например,
CREATE,DROP). - DML (Data Manipulation Language): Работа с данными (например,
SELECT,INSERT,UPDATE,DELETE). - DCL (Data Control Language): Управление доступом (например,
GRANT,REVOKE).
Пример SQL-запроса
-- Этот запрос выбирает ФИО и группу студентов, записанных на курс с ID = 1
SELECT ФИО, Группа
FROM Студенты
WHERE ID_курса = 1;
[!TIP]
SQL прост в освоении, но при этом обладает мощным функционалом, который позволяет эффективно работать с данными: от создания таблиц до сложного анализа.
СУБД MySQL
MySQL — одна из самых популярных систем управления базами данных (СУБД), которая активно используется в веб-разработке, анализе данных и других областях. Она отличается высокой производительностью, бесплатностью и широкой поддержкой.
Как и многие современные СУБД, MySQL основана на принципе клиент-серверного взаимодействия. Сервер обеспечивает доступ к базе данных и обрабатывает запросы от клиента. Клиент и сервер могут находиться на разных компьютерах и взаимодействовать через сеть.
Почему MySQL?
- Высокая производительность.
- Бесплатность и открытый исходный код.
- Широкая поддержка и документация.
- Совместимость с различными операционными системами (Windows, Linux, macOS).
Работа с MySQL через терминал и клиент
MySQL можно использовать двумя основными способами:
Через терминал (командную строку):
Это наиболее универсальный способ, который работает на всех платформах.
Для подключения к серверу MySQL используется команда:
mysql -u username -pПосле выполнения этой команды система может запросить пароль, если он установлен для данного пользователя. Для учебных целей, как правило в качестве имени пользователя используют имя "корневого пользователя"
root, который является главным администратором и может выполнять все возможные действия с БД.Пример выполнения SQL-запроса в терминале:
SHOW DATABASES;Чтобы выйти из этого режима, достаточно выполнить команду:
EXIT;Преимущества работы через терминал:
- Минимальные требования к ресурсам.
- Возможность автоматизации задач с помощью скриптов.
- Удобство для опытных пользователей.
Недостатки:
- Отсутствие графического интерфейса.
- Необходимость запоминать синтаксис команд.
Через клиент (например, MySQL Workbench):
Графический интерфейс делает работу более удобной для начинающих.
Можно визуализировать структуру базы данных, создавать таблицы и выполнять запросы и многое другое.
Подходит для разработчиков, которые предпочитают наглядность и удобство.
Преимущества работы через клиент:
- Интуитивно понятный интерфейс.
- Автодополнение и подсветка синтаксиса.
- Возможность просмотра результатов запросов в удобном формате.
Недостатки:
- Требует установки дополнительного ПО.
- Может быть менее гибким для сложных задач.
MySQL Workbench
MySQL Workbench — это мощный инструмент для работы с базами данных MySQL. Он предоставляет широкий спектр функций, которые помогают управлять базами данных, создавать и изменять таблицы, выполнять запросы и многое другое.
Достоинства MySQL Workbench:
- Интуитивно понятный интерфейс.
- Мощный редактор запросов с автодополнением и подсветкой синтаксиса.
- Возможность графического создания и редактирования таблиц.
- Инструменты для моделирования баз данных.
- Кроссплатформенность (Windows, Linux, macOS).
- Бесплатность и открытый исходный код.

Пример интерфейса MySQL Workbench
Основные разделы интерфейса MySQL Workbench:
Главная страница (Home):
- Отображает список подключений к серверам MySQL.
- Позволяет быстро создать новое подключение или открыть существующее.
Редактор SQL (SQL Editor):
- Здесь можно писать и выполнять SQL-запросы.
- Поддерживает автодополнение, подсветку синтаксиса и вывод результатов запросов в виде таблиц.
- Именно в этом разделе вы будете выполнять большинство операций: создание баз данных, таблиц, вставка данных и выполнение запросов.
Моделирование данных (Data Modeling):
- Позволяет создавать ER-диаграммы баз данных.
- Можно перетаскивать таблицы, задавать связи и экспортировать модель в SQL-скрипт.
Администрирование (Administration):
- Управление пользователями и правами доступа.
- Настройка сервера, резервное копирование и восстановление данных.
Редактор SQL в MySQL Workbench
Редактор SQL — это основной инструмент в MySQL Workbench, где вы будете выполнять все основные команды. Вот его ключевые особенности:
- Автодополнение: При вводе команд редактор предлагает варианты завершения слов, что ускоряет написание запросов.
- Подсветка синтаксиса: Разные элементы запроса выделяются разными цветами, что упрощает чтение и понимание кода.
- Вывод результатов: Результаты запросов отображаются в виде таблиц, что делает их удобными для анализа.
- История запросов: Вы можете просмотреть ранее выполненные запросы и повторно их использовать.
[!TIP]
В MySQL Workbench результаты выполнения запросов снабжаются визуальной подсветкой, которая помогает быстро понять статус операции:
- 🟢 Зелёная галочка: Запрос выполнен успешно. (✅)
- 🔴 Красный значок ошибки: Произошла ошибка. Подробное описание ошибки можно найти в нижней панели. (❌)
- 🟡 Жёлтый треугольник (предупреждение): Запрос выполнен, но сервер вернул предупреждение. Это может указывать на потенциальные проблемы, такие как усечение данных или неоптимальные операции. (⚠️)
Используйте эти визуальные подсказки для быстрой диагностики проблем и оптимизации работы с базой данных.
Пример использования редактора SQL:
Подключитесь к серверу MySQL через MySQL Workbench.
Откройте вкладку SQL Editor.
Введите следующий запрос:
SHOW DATABASES;Нажмите кнопку "Выполнить" (или клавишу
Ctrl + Enter).Результаты запроса отобразятся в нижней части окна.
[!TIP]
Используйте редактор SQL для выполнения всех практических заданий курса. Он удобен, нагляден и подходит как для новичков, так и для опытных пользователей.
Создание и удаление БД
При написании SQL запросов мы активно используем таблицы. Сами же таблицы хранятся в рамках конкретных баз данных, о которых и пойдет речь в данной статье.
Создание базы данных
Создание базы данных имеет следующий синтаксис:
CREATE DATABASE my_db_01;
Требования к имени БД в MySQL 8:
- До 64 символов.
- Латинские буквы, цифры,
_. - Без пробелов и специальных символов (кроме
_). - Не начинать с цифры или зарезервированного слова (
select,update,insert,deleteи т.п.). - Чувствительность к регистру зависит от настроек сервера и ОС, но лучше использовать нижний регистр.
Примеры:
- ✅
my_db,db1,test_db - ❌
1db,my-db,select
[!TIP]
Используйте осмысленные имена для баз данных, например,school,library,shop. Это поможет легче ориентироваться в проектах.
Проверить создание базы данных можно с помощью оператора SHOW DATABASES:
SHOW DATABASES;
[!NOTE]
Обратите внимание, что операторSHOW DATABASESкроме пользовательских баз данных отображает также служебные базы данных, такие какinformation_schema,mysql,performance_schema.
Удаление базы данных
Удаление базы данных осуществляется с помощью оператора DROP DATABASE:
DROP DATABASE my_db_01;
Конструкция IF [NOT] EXISTS
При создании базы данных или при ее удалении может возникнуть ошибка, если база данных уже существует (при создании) или не существует (при удалении). Для таких случаев существует конструкция IF [NOT] EXISTS.
Создаст базу данных только если она еще не существует:
CREATE DATABASE IF NOT EXISTS my_db_01;Удалит базу данных только если она существует:
DROP DATABASE IF EXISTS my_db_01;
Практические задания
- Создайте базу данных с именем
test_db_01. - Проверьте, что база данных создана, с помощью команды
SHOW DATABASES. - Удалите созданную базу данных.
- Попробуйте создать базу данных с именем, содержащим недопустимые символы (например, пробел). Что произойдет?