Запуск MySQL Workbench
Откройте меню Пуск и наберите ‘Workbench’. В списке выберите MySQL Workbench.
Откроется окно, называемое домашним экраном.

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

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

В правом нижнем углу есть кнопка ‘Connect’, которая откроет данное подключение.
Подключение так же можно открыть, нажав на саму “плитку”.
Откройте первое подключение в списке.
Редактор SQL-запросов
После открытия подключения, открывается окно редактора SQL-запросов.

В центре мы видим окно редактирования запроса.
Обратно к домашнему экрану можно вернуться, нажав на иконку в левом верхнем углу окна.
Слева находится навигатор, отображающий основные задачи и список объектов БД.
В левом нижнем углу находится окно информации о выбранном объекте.
Справа находится окно помощи.
Внизу – окно истории запросов.
В правом верхнем углу находятся элементы управления, позволяющие скрыть или отобразить боковые панели.
Выполнение запросов

Выполним запрос к базе world . Во-первых, выберем базу данных world как активную.
Для этого, найдите объект world в навигаторе, и выберете его двойным кликом, либо нажав правой кнопкой мыши и в контекстном меню выбрав Set as Default Schema .
Теперь можно выполнять запросы к базе world .
Вы так же можете выбрать активную базу, выполнив запрос
USE schema_name;
USE world;
Для начала, запросим список таблиц в выбранной базе. Для этого, в окне редактирования SQL-запроса, напишем
SHOW TABLES;
При введении запроса, окно помощи автоматически отображает подсказки по синтаксису вводимого запроса, если эта возможность включена. Чтобы включить автоматическую подсказку, нажмите на третью слева кнопку панели в окне помощи.
Затем нажмем на кнопку выполнения запроса (желтая молния), или выберем в меню 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, 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;
Как запустить скрипт в mysql workbench
Для упрощения работы с сервером MySQL в базовый комплект установки входит такой инструмент как MySQL Workbench . Он представляет графический клиент для работы с сервером, через который мы в удобном виде можем создавать, удалять, изменять базы данных и управлять ими. Так, на Windows после установки в меню Пуск мы можем найти значок программы и запустить ее:

Нам откроется следующее окно, где мы можем увидеть поле с названием запущенного локально экземпляра MySQL:

Нажмем на него, и нам отобразится окно для ввода пароля:

Здесь надо ввести пароль, который был установлен для пользователя root при установке MySQL.
После успешного логина нам откроется содержимое сервера:

В частности, в левой части в окне SCHEMAS можно увидеть доступные базы данных.
Теперь посмотрим, как мы можем выполнять в этой программе запросы к бд. Вначале создадим саму БД. Для этого нажмем над списком баз данных на значок «SQL» с плюсом:

После этого в центральной части программы откроется окно для ввода скрипта SQL. Введем в него следующую команду:
CREATE DATABASE usersdb;
Данная команда создает базу данных usersdb.
Для выполнения скрипта в панели инструментов нажмем на значок молнии:

После этого внизу программы в поле вывода в случае удачного выполнения мы увидим зеленый маркер и отчет о выполнении.
Таким образом, бд создана. Теперь добавим в нее таблицу и какие-нибудь данные. Для этого изменим код в поле ввода скрипта на следующий:
USE usersdb; CREATE TABLE users ( id INTEGER AUTO_INCREMENT PRIMARY KEY, firstname VARCHAR(30), age INTEGER ); INSERT INTO users (firstname, age) VALUES ('Tom', 34);
Все команды отделяются друг от друга точкой с запятой. Первая комнда — USE устанавливает в качестве используемой базу данных usersdb, которая была создана выше. Вторая команда — CREATE TABLE создает в бд таблицу users, в которой будет три столбца: id, firstname и age. Третья команда — INSERT INTO добавляет в таблицу users одну строку. Для выполнения этих команд также нажмем на значок молнии.

И в конце получим все данные из таблицы users с помощью следующих команд:
USE usersdb; SELECT * FROM users;

Таким образом, мы можем осуществлять запросы к БД в программе MySQL Workbench CE.
Как установить и использовать MySQL Workbench
При помощи SQL-скриптов довольно просто создать базу данных из нескольких таблиц. В ней легко ориентироваться и всю схему можно держать в голове. Такие БД встречаются только в небольших или учебных проектах.
В реальных системах базы данных содержат десятки и сотни таблиц, процедур, представлений и триггеров. Невозможно удержать все эти объекты и связи между ними в голове. И когда в такую схему нужно добавить новую таблицу или разобраться в существующей структуре, хочется увидеть все таблицы перед глазами.
С этим может помочь инструмент MySQL Workbench. Он упрощает многие аспекты работы с БД: создание таблиц и связей между ними, создание триггеров и процедур, визуальное представление схемы, настройка БД и создание резервных копий.
В статье мы покажем, как работать с MySQL Workbench. Мы создадим кластер СУБД MySQL, установим Workbench и подключимся к кластеру. Затем попробуем разные способы создания таблиц и работы с данными. Также создадим бекап базы данных и восстановим его. Все это на пошаговых примерах с описанием и скриншотами.
Что такое MySQL Workbench
MySQL Workbench — универсальный инструмент для работы и управления базами данных. С его помощью можно создавать и редактировать таблицы и другие объекты, управлять доступом пользователей и полноценно администрировать БД. Workbench может пригодиться разработчикам, администраторам БД и архитекторам систем.
Несмотря на название, он может работать не только с MySQL, но и с другими СУБД: Oracle Database, Microsoft SQL Server, PostgreSQL и другими.
Одна из главных особенностей Workbench — визуальное моделирование. Оно позволяет увидеть все таблицы и связи между ними в наглядном виде. Это намного упрощает проектирование базы данных.
Перейдем к практике.
Создать облачную СУБД MySQL
Перед началом работы с Workbench нужно установить и запустить MySQL. Мы создадим кластер на платформе Selectel, это позволит быстро развернуть БД и не заниматься установкой и настройкой сервера.
Облачные базы данных
Готовые к работе управляемые базы данных MySQL
В панели управления заходим в раздел «Облачная платформа» — «Базы данных», нажимаем кнопку «Создать кластер».

На экране создания кластера выбираем параметры. Мы покажем лишь некоторые параметры, остальные можно оставить по умолчанию. Выбираем «СУБД» — MySQL 8, «Конфигурация нод» — «Фиксированная», 2 vCPU, 4 ГБ оперативной памяти и 32 ГБ места на диске. В разделе «Сеть» нужно выбрать публичную подсеть, чтобы к кластеру можно было подключаться из интернета.

После этого внизу страницы нажимаем кнопку «Создать кластер». Кластер будет создаваться несколько минут, и после того, как он перейдет в статус ACTIVE, можно продолжать настройку. Нажимаем на имя кластера.

К кластеру облачных баз данных MySQL sync можно подключиться по DNS-адресу.
Если кластер подключен к приватной подсети и вы хотите работать с ним через DNS, подключите к подсети кластера облачный роутер с доступом во внешнюю сеть.

Затем переходим на вкладку «Пользователи». Нужно создать нового пользователя, для этого нажимаем на соответствующую кнопку.

Интерфейс платформы автоматически предложит имя пользователя и пароль. Не забудьте сохранить пароль, потому что его нельзя восстановить и можно только поменять.
Далее создадим базу данных, в которой мы потом будем создавать таблицы. Перейдите на вкладку «Базы данных», нажмите кнопку «Создать базу данных» и укажите имя.

Все, наш удаленный сервер MySQL готов к работе.
Установить MySQL Workbench и подключиться к кластеру
Теперь установим MySQL Workbench и подключимся к созданному кластеру. Перейдите на страницу загрузки, выберите вашу операционную систему. Мы покажем, как установить MySQL Workbench на примере Windows. Если у вас Linux или MacOS, то после выбора ОС из списка появятся соответствующие инструкции, воспользуйтесь ими.

Нажимаем кнопку Download, и на следующем экране нам предложат войти в аккаунт Oracle или создать его. Отказываемся, нажимаем кнопку No thanks, just start my download, и просто скачиваем установщик.
Запускаем скачанный файл, во всех диалоговых окнах оставляем значения по умолчанию. После установки запускаем MySQL Workbench. При первом запуске нас встретит приветственное окно. Для начала нужно добавить подключение к нашему кластеру. Для этого нажимаем на кнопку «+», рядом с текстом MySQL Connections.

Откроется экран настройки.

- Указываем имя соединения — это позволит различать подключения, если вы работаете с несколькими серверами.
- Указываем IP-адрес кластера и порт. Обратите внимание, что по умолчанию в Workbench указан порт 3306. Нам нужно указать 6033, как указано в параметрах подключения на платформе Selectel.
- Указываем имя пользователя.
Эти настройки сохранятся и в дальнейшем их не нужно будет вводить заново. Нажимаем кнопку OK и в следующем диалоговом окне вводим пароль.
Мы подключились к кластеру MySQL. В левой части экрана перейдя на вкладку Schemas, вы увидите БД, которую мы создавали ранее в интерфейсе Selectel. Обратите внимание, что в интерфейсе Workbench это называется «схема», но это одно и то же.

Создать таблицы
Мы покажем два разных способа, как это сделать. Сначала создадим две таблицы справочников:
- Справочник товаров.
- Справочник магазинов.
Затем создадим еще одну таблицу, в ней будет храниться связь: в каких магазинах какие товары продаются.
Дважды кликнем на названии схемы, чтобы она выделилась жирным шрифтом. Это означает, что теперь все действия по умолчанию мы выполняем в этой схеме. Затем в панели инструментов нажимаем на иконку создания новой таблицы.

Откроется окно создания новой таблицы. Нужно заполнить несколько полей:

- Название таблицы: products.
- Комментарий. Указывать не обязательно, но желательно. Наша схема будет состоять всего из трех таблиц, в ней не запутаешься. Но когда базы данных разрастаются до больших размеров, комментарии помогают ориентироваться в таблицах.
- Поля. Мы создадим два поля. Первое — id, идентификатор товара. Выбираем тип INT, отмечаем галочки PK (Primary Key), NN (Not Null) и AI (Auto Increment). Тем самым мы указали, что это поле — первичный ключ, его значение не может быть пустым и должно генерироваться автоматически. Второе поле — name, название товара. Выбираем тип VARCHAR, длина 45 символов, и отмечаем галочку NN, чтобы у всех товаров было название.
- Комментарии для полей. Рекомендуем заполнять их, как комментарий ко всей таблице.
Далее нажимаем кнопку Apply. Workbench отобразит скрипт, который он сгенерировал для создания этой таблицы. Перед применением скрипт можно проверить или изменить.

Затем по такому же принципу создаем вторую таблицу — справочник магазинов.

Теперь наполним справочники данными. Нажмите правой кнопкой мыши на таблице products и выберите пункт Select Rows.

Откроется окно, в верхней части которого можно писать SQL-запрос, а в нижней отобразится результат. Добавлять новые записи в таблицу можно как при помощи SQL, так и графического представления.

Мы воспользуемся графическим интерфейсом: в нижней части окна создадим несколько строк. Достаточно указать названия товаров, а идентификатор заполнится автоматически. Затем нажмем кнопку Apply.

Workbench снова покажет скрипт перед тем, как применить действия. Его можно проверить или изменить.
Точно также добавим несколько записей в таблицу stores.

Создать модель
Теперь перейдем к другому, более наглядному способу работы с БД — моделям. Модель — это способ графического представления таблиц и связей между ними. В этом режиме все таблицы будто нарисованы на листе бумаги, а стрелки между ними показывают взаимосвязи. Но в отличие от листа бумаги, таблицы можно легко добавлять, изменять, удалять и перемещать.
Например, вот схема небольшого, но реального проекта. В крупных проектах схемы БД могут быть во много раз больше.

Модель можно создать несколькими способами.
- Создать новую модель с нуля. Это подходит для случаев, когда Workbench используется с самого старта проекта. Тогда все таблицы можно создавать и изменять в модели.
- Создать из существующей схемы или скрипта. Это подходит для случаев, когда БД уже создана, и теперь нужно перевести ее в графический вид.
Мы воспользуемся вторым способом: импортируем наши таблицы, а затем в одну из них добавим новое поле и создадим еще одну таблицу для связи.
В главном меню Workbench выбираем Database — Reverse Engineer. Дальше — выберем созданное ранее подключение и в следующем окне отметим, что нужно импортировать нашу схему.

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

Мы уже знаем, как самим создавать таблицу в MySQL Workbench. А теперь посмотрим, как это можно сделать автоматически. Нам нужна еще одна таблица, в которой будет храниться связь: какой товар в каком магазине продается. Самый простой способ это сделать — использовать инструмент n:m Relationship. Выбираем его на панели инструментов, а потом по очереди кликнем на каждую таблицу.

MySQL Workbench сам создаст новую таблицу, даст ей имя и добавит в нее поля.

Обратите внимание, что поля stores_id и products_id являются одновременно и первичными (primary key), и вторичными ключами (foreign key). Это означает, что в эту таблицу можно будет добавить только те товары и магазины, которые есть в справочниках. К тому же, в таблице нельзя будет создать две одинаковые записи. Это как раз то, что нам нужно.
Теперь добавим в справочник магазинов поле с адресом. Для этого два раза кликнем на таблице Stores, и в нижней части окна появится область для редактирования полей. Эта область аналогична той, с которой мы работали при создании первых двух таблиц. Создадим новое поле Address.

Мы внесли изменения, которые хотели. Но если сейчас посмотреть на схему, то мы увидим, что на самом деле в таблицах ничего не поменялось. Нет ни новой таблицы, ни нового поля. Это потому, что модель не связана с БД явно. В процессе импорта мы создали модель на основе существующей схемы, но они никак между собой не связаны. Схема может жить своей жизнью, а модель — своей. Чтобы перенести изменения из модели в схему, нужно сделать это явно.
Для этого в главном меню Workbench выбираем пункт Database — Synchronize Model, в открывшемся окне выбираем соединение. Далее во всех окнах оставляем значения по умолчанию и нажимаем кнопку Next.
Затем Workbench проанализирует различия в модели и схеме и сгенерирует скрипты для обновления схемы. На скриншоте видно, что создастся одна новая таблица, и в существующую таблицу добавится новое поле.

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

Импорт и экспорт данных
Рассмотрим еще две полезные функции MySQL Workbench — экспорт и импорт. Они позволяют экспортировать схему со всеми таблицами и данными, и затем импортировать в новую БД. Это может быть полезно для создания резервных копий или переноса БД на другой сервер.
Сначала мы экспортируем схему, потом удалим все таблицы в ней и затем восстановим таблицы из бекапа.
В главном меню Workbench выберем пункт Server — Data Export. В открывшемся окне выберите схему и все таблицы в ней. Затем укажите путь, куда сохранить файлы и нажмите кнопку Start Export. В окне есть и другие дополнительные опции, но для нашего примера достаточно значений по умолчанию.

Чтобы показать процесс восстановления, мы удалим все существующие таблицы. Для этого выделите их и в контекстном меню нажмите Drop 3 Tables.

В открывшемся диалоговом окне выберите вариант Drop Now. Теперь у нас снова пустая схема, как было в самом начале.

Теперь будем восстанавливать данные. Зайдем в главное меню Workbench, Server — Data Import. Выбираем директорию, где мы сохранили дамп, отмечаем схему и все таблицы. Затем нажимаем кнопку Start Import.

Сразу после окончания импорта мы не увидим таблицы, сначала нужно обновить схему. Для этого в контекстном меню выбираем пункт Refresh All.

Видим, что все таблицы восстановились. Проверим данные в них — все на месте. Значит импорт прошел успешно.

Этот сценарий может использоваться для создания резервных копий и их восстановления.
Но так как мы пользуемся управляемой СУБД на платформе Selectel, нам не нужно заботиться о создании бэкапов, это делается автоматически.
Заключение
Мы познакомились с инструментом MySQL Workbench и узнали, для чего он используется. Научились создавать таблицы, добавлять в них поля и указывать их свойства. Также поработали со схемами — удобным графическим способом представления таблиц. Напоследок узнали, как с помощью MySQL Workbench экспортировать базу данных, и затем восстановить ее.
Теперь вы можете подключаться к своим рабочим проектам или создавать новую архитектуру БД с нуля.
Работа с командой UPDATE — как обновить данные в таблице MySQL
Как запустить скрипт из Mysql Workbench?
У меня есть SQL-скрипт для распространения на другие, чтобы работать из IDE MySQL, а не из командной строки MySQL. Я хочу, чтобы пользователь загрузил сценарий в окно рабочего места (или другую IDE, такую как sqlyog), и просто запустил скрипт, который вставляет записи на основе переменных, например:
SELECT value FROM mytable WHERE key = "mykey" into @columnid; INSERT INTO mytable (col2,col3) VALUES ( @columnid, 'testvalue' )
У всех нас установлен MySQL Workbench, но я не вижу способа сделать это из workbench. Есть ли способ запустить скрипт (то есть в окне редактора) из workbench (или любой другой MySQL IDE), как вы можете запускать скрипты из другой базы данных IDE, например, Toad или SQL Server Management Studo?
draca 09 апр. 2015, в 20:30