DataHub: веб-песочница для тех, кто изучает SQL

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру 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.

Буду рад ответить на ваши вопросы и дополнить статью.

Источник: https://habr.com/ru/articles/731158/


Интересные статьи

Интересные статьи

Если обновляешься со старой Java на LTS-версию Java 17, как разобраться сразу во всех фичах за несколько лет? Чтобы помочь с этим, мы уже публиковали расшифровку доклада tagir_valeev с нашего IT-фес...
В данной статье мы рассмотрим, зачем в стандартной библиотеке нужна конструкция для вывода общего типа, как она реализована и как она работает.
Полноценных школ по компьютерному зрению, таких, чтобы участники могли получить опыт от разработчиков алгоритмов из крупных технологических компаний, осталось очень немного. В этом плане больше всего ...
Кадр из фильма «Индиана Джонс: В поисках утраченного ковчега» (1981) Наблюдаемая все чаще и чаще картина в задаче анализа данных вызывает удручающее впечатление. Intel, AMD и другие производители н...
По мере развития космических исследований и изменения ситуации на Земле становится очевидной и необходимость, и возможность переселения людей на другие космические тела. ...