Запуск MySQL Workbench
Откройте меню Пуск и наберите ‘Workbench’. В списке выберите MySQL Workbench.
Откроется окно, называемое домашним экраном.
В верхней части Вы можете видеть список соединений с СУБД. Эти элементы управления используются для подключения к СУБД и прямого управления.
В нижней части находится список моделей. Модели используются для визуального проектирования баз данных.
Подключения
При наведении курсора мыши на подключение, у “плитки” отгибается уголок. Если нажать на этот “уголок”, отобразится информация о подключении: версия СУБД, дата последнего использования, адрес сервера СУБД, логин, и т.п.
В правом нижнем углу есть кнопка ‘Connect’, которая откроет данное подключение.
Подключение так же можно открыть, нажав на саму “плитку”.
Откройте первое подключение в списке.
Редактор SQL-запросов
После открытия подключения, открывается окно редактора SQL-запросов.
В центре мы видим окно редактирования запроса.
Обратно к домашнему экрану можно вернуться, нажав на иконку в левом верхнем углу окна.
Слева находится навигатор, отображающий основные задачи и список объектов БД.
В левом нижнем углу находится окно информации о выбранном объекте.
Справа находится окно помощи.
Внизу – окно истории запросов.
В правом верхнем углу находятся элементы управления, позволяющие скрыть или отобразить боковые панели.
Выполнение запросов
Выполним запрос к базе world
. Во-первых, выберем базу данных world
как активную.
Для этого, найдите объект world
в навигаторе, и выберете его двойным кликом, либо нажав правой кнопкой мыши и в контекстном меню выбрав Set as Default Schema
.
Теперь можно выполнять запросы к базе world
.
- Замечание
Вы так же можете выбрать активную базу, выполнив запрос
USE schema_name;
Например,
USE world;
Для начала, запросим список таблиц в выбранной базе. Для этого, в окне редактирования SQL-запроса, напишем
TABLES; SHOW
При введении запроса, окно помощи автоматически отображает подсказки по синтаксису вводимого запроса, если эта возможность включена. Чтобы включить автоматическую подсказку, нажмите на третью слева кнопку панели в окне помощи.
Затем нажмем на кнопку выполнения запроса (желтая молния), или выберем в меню Query
→ Execute (All or Selection)
. Клавиатурное сокращение – ctrl
+shift
+enter
Другие кнопки панели окна SQL-запроса
Слева направо, кнопки:
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,
NOT NULL,
name TINYTEXT DATE
birthday );
- Замечание
- Существует графический инструмент создания таблиц. Разберем его, когда будем работать с инструментом графического проектирования БД.
Проверим, что таблица создалась:
TABLES; SHOW
Выведем содержимое таблицы:
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;