Работа с СУБД MySQL. Использование инструмента MySQL Workbench.

Запуск MySQL Workbench

Откройте меню Пуск и наберите ‘Workbench’. В списке выберите MySQL Workbench.

Откроется окно, называемое домашним экраном.

Домашний экран

В верхней части Вы можете видеть список соединений с СУБД. Эти элементы управления используются для подключения к СУБД и прямого управления.

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

Подключения

“Плитка” подключения

При наведении курсора мыши на подключение, у “плитки” отгибается уголок. Если нажать на этот “уголок”, отобразится информация о подключении: версия СУБД, дата последнего использования, адрес сервера СУБД, логин, и т.п.

Информация о подключении

В правом нижнем углу есть кнопка ‘Connect’, которая откроет данное подключение.

Подключение так же можно открыть, нажав на саму “плитку”.

Откройте первое подключение в списке.

Редактор SQL-запросов

После открытия подключения, открывается окно редактора SQL-запросов.

Окно редактора SQL-запросов

В центре мы видим окно редактирования запроса.

Обратно к домашнему экрану можно вернуться, нажав на иконку в левом верхнем углу окна.

Слева находится навигатор, отображающий основные задачи и список объектов БД.

В левом нижнем углу находится окно информации о выбранном объекте.

Справа находится окно помощи.

Внизу – окно истории запросов.

В правом верхнем углу находятся элементы управления, позволяющие скрыть или отобразить боковые панели.

Выполнение запросов

Редактор SQL – Панель SQL-запроса

Выполним запрос к базе world. Во-первых, выберем базу данных world как активную.

Для этого, найдите объект world в навигаторе, и выберете его двойным кликом, либо нажав правой кнопкой мыши и в контекстном меню выбрав Set as Default Schema.

Теперь можно выполнять запросы к базе world.

Замечание

Вы так же можете выбрать активную базу, выполнив запрос

USE schema_name;

Например,

USE world;

Для начала, запросим список таблиц в выбранной базе. Для этого, в окне редактирования SQL-запроса, напишем

SHOW TABLES;

При введении запроса, окно помощи автоматически отображает подсказки по синтаксису вводимого запроса, если эта возможность включена. Чтобы включить автоматическую подсказку, нажмите на третью слева кнопку панели в окне помощи.

Затем нажмем на кнопку выполнения запроса (желтая молния), или выберем в меню QueryExecute (All or Selection). Клавиатурное сокращение – ctrl+shift+enter

Другие кнопки панели окна SQL-запроса

SQL Editor - Toolbar

Слева направо, кнопки:

  • Open an SQL Script File: Загружает содержимое ранее сохраненного запроса из файла.

  • Save SQL Script to File: Сохраняет запрос в файл

  • Execute SQL Script: Выполняет выделенную часть запроса, или весь запрос, если ничего не выделено.

  • Execute Current SQL script: Выполняет выражение, на котором находится текстовый курсор.

-   **Explain (All or Selection)**: Отображает для выбранной части запроса или всего запроса информацию о работе оптимизатора.
  • Stop the query being executed: Прерывает выполнение текущего запроса.

  • Toggle whether execution of SQL script should continue after failed statements: Переключает поведение при ошибках в выражениях. Если на кнопке отображен красный кружок, то выполнение запроса прерывается при ошибке выполнения одного из выражений.

    Иначе, если отображена зеленая стрелка, выражения с ошибками пропускаются и выполнение запроса продолжается.

  • Commit: Подтверждает текущую транзакцию

  • Rollback: Отменяет текущую транзакцию

  • Toggle Auto-Commit Mode: Если включено, каждое выражение будет автоматически подтверждено.

  • Set Limit for Executed Queries: Ограничение количества результатов запроса.

  • Save Snippet: Сохранить текущее выражение или выбранный фрагмент для быстрого использования.

  • Beautify SQL: Форматировать текст запроса.

  • Find panel: Отобразить панель поиска в тексте запроса.

  • Invisible characters: Отображать “невидимые” символы.

  • Wrapping: Включить перенос по словам.

Откроется окно результата запроса.

В центре окна результата находится результат запроса – в нашем случае, список названий таблиц. Справа – кнопки выбора стиля отображения:

  • Result Grid – в виде таблицы (по умолчанию)
  • Form Editor – в виде формы. Каждая запись открывается на отдельной странице, в верхней части окна есть стрелки для навигации по записям.
  • Field Types – отображает типы атрибутов результата.
  • Query Stats – отображает различную статистику запроса
  • Execution Path – показывает алгоритм работы оптимизатора

Посмотрим, как устроена таблица Country. Для этого, выполним команду

SELECT * FROM Country;

и выберем стиль отображения результата Field Types.

Замечание

Запуск запроса на выполнение запускает все выражения, которые написаны в окне запроса. Если в окне запроса написано несколько выражений, разделенных точкой с запятой, они выполнятся последовательно. Поэтому, удаляйте либо комментируйте уже выполненные запросы.

Комментарии в SQL начинаются с двойного дефиса, например:

-- комментарий
-- SHOW TABLES;
SELECT * FROM Country;

В данный момент нас интересуют атрибуты (колонки) Name – названия страны и LifeExpectancy – средняя продолжительность жизни граждан.

Выведем список стран со средней продолжительностью жизни граждан более 80 лет. Для этого выполним запрос

SELECT Name, LifeExpectancy FROM Country WHERE LifeExpectancy>80;

Другой запрос, который можно выполнить к таблице Country – количество стран по форме правления.

SELECT GovernmentForm, COUNT(Name) FROM Country GROUP BY GovernmentForm;

Создание базы данных

Для создания базы данных можно выполнить запрос

CREATE DATABASE db_name;

Создайте базу данных с названием myFirstDatabase:

CREATE DATABASE myFirstDatabase;

Чтобы отобразить созданную БД в списке объектов, нажмите на пустое место в списке правой кнопкой мыши и выберете Refresh All.

Выберите myFirstDatabase как активную.

Создание таблицы

Создадим таблицу People, состоящую из колонок id, name, birthday:

CREATE TABLE People (
  id BIGINT AUTO_INCREMENT PRIMARY KEY,
  name TINYTEXT NOT NULL,
  birthday DATE
);
Замечание
Существует графический инструмент создания таблиц. Разберем его, когда будем работать с инструментом графического проектирования БД.

Проверим, что таблица создалась:

SHOW TABLES;

Выведем содержимое таблицы:

SELECT * FROM People;

Добавление и редактирование данных

При выборе всех столбцов таблицы, Workbench позволяет редактировать записи непосредственно через интерфейс результата запроса. Выберите стиль отображения результата Form Editor, и введите значения атрибутов name и birthday. Последнее вводится в формате YYYY-MM-DD, например для 1 сентября 2015 года введите 2015-09-01.

Поле id оставьте пустым.

В правом нижнем углу окна результата можно увидеть кнопки Apply и Revert. Первая сгенерирует и выполнит SQL-запрос INSERT, а вторая отменит изменения.

Нажмите на Apply, посмотрите сгенерированный запрос, и примените его. Если все сделано правильно, то в таблицу вставлена новая запись. Выполните запрос

SELECT * FROM People;

еще раз, чтобы в этом убедиться.

Замечание
Можно так же добавлять и редактировать записи в табличном отображении результата.

Удаление данных

Данные можно удалять из окна результатов, используя кнопку панели Delete selected rows.

Другой способ – выполнение SQL-запроса

DELETE FROM tbl_name WHERE condition;

Например, удалим из таблицы People запись с каким-либо значением id:

DELETE FROM People WHERE id = 1;

Подставьте вместо 1 какое-то из существующих значений.

Замечание
По умолчанию, Workbench выполняет запросы с параметром SQL_SAFE_UPDATES. Этот параметр не позволяет производить запросы UPDATE и DELETE без указания условия WHERE с первичным ключом (в данном случае id).

Импорт и экспорт

Экспорт

В навигаторе выберите Data Export. Выберите базы данных и таблицы, которые хотите экспортировать. При необходимости, отметте другие объекты, которые хотите экспортировать: Dump Stored Procedures and Functions, Dump Events, Dump Triggers.

Выберите Export to Self-Contained File и файл, в который будет сохранен экспорт.

Не отмечайте Include Create Schema: эта опция включит в экспорт выражение CREATE DATABASE.

Нажмите на кнопку Start Export.

Импорт

В навигаторе выберите Data Import/Restore. Выберите Import from Self-Contained File.

Выберите базу данных, в которую будет произведен импорт в выпадающем списке Default Target Schema. Можно так же создать новую БД, нажав на кнопку New…

Нажмите Start Import.

Удаление таблиц

Для удаления таблиц используется запрос

DROP TABLE tbl_name;

Удалим таблицу People

DROP TABLE People;

Удаление БД

Для удаления БД используется запрос

DROP DATABASE tbl_name;

Удалим таблицу myFirstDatabase

DROP DATABASE myFirstDatabase;