Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Привет! Меня зовут Андрей Шмиг, я разработчик платформы DataHub, платформа для совместной работы над данными - своего рода GitHub для данных. В этой статье покажу на что способен веб-редактор MySQL хранилища и почему это отличный инструмент для работы тем, кто изучает SQL.
Предыдущие статьи в хронологическом порядке:
Как делиться структурированными данными и получать за них донаты?
Репозитории данных коммерческого типа. Как зарабатывать на доступе к данным?
Организовываем доступ к публичным данным через Predefined Queries
Ещё один редактор ...
В поиске Яндекс или Google можно найти достаточное количество онлайн-редакторов для тестирования и написания SQL запросов и все они хороши по-своему - некоторые редакторы поддерживают создание таблиц, некоторые поддерживают загрузку и выгрузку данных, некоторые редакторы ограничиваются выполнением запросов к заранее созданным таблицам и базам, а некоторые позволяют работать с базой данных и таблицами только в рамках текущей сессии. У каждого редактора свои ограничения и возможности, которые могут подойти не всем.
Список из 4 популярных иностранных веб-редакторов:
https://sqliteonline.com
https://www.programiz.com/sql/online-compiler/
https://onecompiler.com/mysql
https://www.mycompiler.io/new/sql
В DataHub веб-редактор хранилища MySQL является органично встроенным компонентом, который позволяет работать с хранилищем MySQL (не выборе предоставляются ещё несколько - как SQL, так и NoSQL) так, словно вы работаете с локальной базой данных - история ваших действий и запросов сохраняется, а приватные репозитории с данными позволяют работать с закрытыми данными только вам сохраняя наработки для последующих изменений.
Программные ориентиры
При разработке модуля веб-редактора для хранилища MySQL и Visual Query Builder репозитория ориентировался на продвинутые продукты:
MySQL Workbench;
DBeaver;
Некоторые визуальные составляющие были напрямую переняты, а некоторые переработаны и улучшены.
Хранилища данных MySQL
Любое хранилище данных может быть создано в рамках репозитория, как закрытого, так и открытого, поэтому я воспользуюсь созданным из предыдущих статьях демо-репозиторием для демонстрации.
В созданном хранилище MySQL у меня одна таблица с названием countries и 4 записями со странами.
Репозиторий может содержать неограниченное количество хранилищ, а все хранилища наследуют область доступа (приватность) самого репозитория.
Веб-редактор MySQL
Для каждого типа хранилища существует свой тип Wizard (визуального помощника) и доступен он в карточке хранилища по клику на иконку консоли в правом верхнем углу:
По-умолчанию MySQL Wizard открывается с активной вкладкой Console в которой происходит работа с запросами и результатами выборок данных.
Остановлюсь подробнее на возможностях предоставляемых редактором:
Открытие SQL-скрипта с локальной машины;
Сохранение SQL-запроса на локальную машину;
Форматирование запроса;
Выполнение запроса (множественное);
Выполнение последнего запроса (re-execution);
Пояснение запроса (EXPLAIN);
История запросов;
Очистка содержимого редактора;
Во вкладке Storage - информация о хранилище, структура отображения аналогична структуре отображения информации в MySQL Workbench:
Содержит информацию о:
Таблицах;
Колонках;
Индексах;
Триггерах;
Отображениях;
Процедурах;
Функциях;
Событиях;
Все эти составляющие базы данных MySQL поддерживаются для использования через компонент редактора MySQL Wizard.
На примере таблицы countries продемонстрирую структуру отображения данных:
Содержит информацию о:
Общей информации о таблице;
Данных (пример выборки из 25 строк);
Колонках;
Индексах;
Триггерах;
Внешних ключах;
Разбивках (partitions);
DDL;
Создаём таблицу и заполняем данными
В текущий реализации MySQL Wizard поддерживает только консольный режим взаимодействия с хранилищем (базой данных) - создание таблиц, колонок, триггеров и прочего осуществляется через написание SQL-запросов.
Напишем запрос для создания таблицы projects:
Отформатируем его:
... и выполним:
Как вы можете заметить произошли некоторые изменения в отображении после выполнения запроса:
с левой стороны в списке таблиц появилась созданная нами таблица projects;
результаты выполненного запроса отобразились под редактором;
в историю добавилась запись о выполненном запросе создания таблиц:
Перейдем в таблицу projects и посмотрим на список созданных колонок во вкладке Columns, чтобы убедиться, что всё создано так, как мы того и хотели:
Отлично, всё работает именно так, как и должно.
Давайте заполним данными нашу таблицу - возвращаемся в Console и пишем запрос:
Обратите внимание, что в этот раз я написал в редакторе два запроса - первый для заполнения таблицы projects тестовыми данными, а второй - для выборки полученных данных.
Как и в MySQL Workbench редактор MySQL Wizard в DataHub поддерживает множественное отображение результатов выполнения запросов:
Очистим таблицу воспользовавшись повторением команды из истории, которую я раньше уже выполнил:
Нажмем на кнопку с иконкой Консоли и выполним запрос:
Все наши изменения с базой сохраняются и будут доступны при повторном посещении (редактировании) репозитория данных.
Редактор MySQL Wizard отображает полные коды ошибок вместе с текстовым описанием для повышения удобства их исправления:
Веб-редактор MySQL Wizard может стать для вас отличным помощником в изучении SQL.
Надеюсь, что возможности DataHub позволят вам делиться, монетизировать и работать с данными эффективно!
Если вам понравилась статья — ставьте лайк и оставляйте комментарий. Подписывайтесь на мой блог про DataHub на Хабре, а так же на Телеграм канал поддержки сервиса.
Мой публичный профиль на DataHub — @aashmig.
Буду рад ответить на ваши вопросы и дополнить статью.