Запускай SQL прямо на странице: несколько баз, снапшоты, сниппеты, схема базы и экспорт — без регистрации. На телефоне — быстрый редактор с готовыми примерами.
Ctrl+Enter запускает. Операторов может быть несколько — раздели их точкой с запятой.
первый запуск скачает движок базы (~17 МБ) — дальше запросы выполняются мгновенно
Больше, чем окно для запроса
Настоящий PostgreSQL в браузере и редактор, который понимает твою базу: подсказки по схеме, результат каждого запроса, ошибки до запуска, базы со снапшотами, план запроса и переходы по скрипту.
01
Подсказки знают твою базу
Редактор читает схему: в подсказках таблицы и столбцы с типами, после точки — столбцы только этой таблицы, запроса WITH или подзапроса, а после JOIN — связанная таблица целиком, с псевдонимом и условием по внешнему ключу.
INSERT INTO подписывает значения именами столбцов: «(id: 100, name: 'Ян', …)»
после столбца в WHERE первыми идут IN, LIKE и IS NULL, в ORDER BY — столбцы результата, в GROUP BY — всё из SELECT без агрегатов
после кавычки — значения столбца: «Москва · 4 строки»
Ctrl+. раскрывает * в список столбцов, Shift+Alt+F форматирует запрос
наведи на COUNT или столбец — подсказка по-русски, с типом и частыми значениями, а таблицы запроса под курсором подсвечены в схеме
песочница/SQL найти поделиться
магазин «Ярко»
1▶SELECT c.name, p.title
2FROM orders o
3JOINcustomers c ON c.id = o.customer_id
4JOINproducts p ON p.id = o.product_id
customers c ON c.id = o.customer_idпо внешнему ключу
products p ON p.id = o.product_idпо внешнему ключу
customersтаблица, 10 строк
ordersтаблица, 22 строки
productsтаблица, 8 строк
customers cu ON cu.id = o.customer_idпо внешнему ключу
orders ord ON ord.customer_id = c.idпо внешнему ключу
products p ON p.id = o.product_idпо внешнему ключу
Пиши несколько запросов подряд и запускай их разом: у каждого оператора своя вкладка с числом строк, а таблица результата устроена как в IDE для баз данных — номера строк, числа справа, сортировка по шапке.
▶ у оператора или Ctrl+Shift+Enter — только запрос под курсором
результат копируется таблицей, Markdown, запросом INSERT или JSON и скачивается CSV
по результату ходят стрелками, как по электронной таблице: Ctrl+C копирует ячейку, номер строки открывает её целиком
закреплённый результат остаётся вкладкой — сравнить с новыми запусками
долгий запрос считает секунды — «3 с из 10 с», его можно остановить, и изменения откатятся
после запуска итог каждого оператора написан прямо за ним в коде: «→ 2 строки», «→ изменены 2 строки»
песочница/SQL найти поделиться
магазин «Ярко»
1▶SELECT name, city FROM customers WHERE city = 'Казань';→ 2 строки
2▶SELECT p.title, count(*) AS orders
3FROM orders o JOIN products p ON p.id = o.product_id
4GROUP BY p.title ORDER BY orders DESC;→ 8 строк
выполнится всё или выделенноевыполнено 2 оператора · 65 мсвыполнить
результатcustomers 2orders 8
#
title
orders ↓
1
Мышь M1 Wireless
3
2
Коврик XL
3
3
Мышь Pro Click
3
4
Клавиатура Alu 87
3
5
Клавиатура K3 Pro
3
6
Монитор 27" IPS
3
03
Ошибка видна до запуска
PostgreSQL проверяет каждый запрос, пока ты пишешь, — не выполняя его. Опечатка подчёркивается сразу, а при наведении видно, что не так, какое имя есть в схеме, и исправление в один клик.
исправления в один клик: имя из схемы, пропущенная «;», «==» вместо «=», условие с агрегатом — в HAVING, части запроса — по порядку
DELETE и UPDATE без WHERE, сравнение с NULL через «=» — предупреждение до запуска
если база откажет при запуске — объяснение по-русски и что написать вместо, место ошибки отмечено в коде, а под объяснением — сообщение и DETAIL от PostgreSQL
скрипт идёт одной транзакцией: упадёт третий оператор — редактор скажет, что сделанное первыми двумя отменено
открытая или прерванная транзакция видна под кодом — с COMMIT и ROLLBACK
песочница/SQL найти поделиться
магазин «Ярко»
1▶SELECT name, sitycityFROM customers;Столбца «sity» нет в таблицах запроса
2▶DELETE FROM orders;DELETE без WHERE удалит все строки таблицы orders
Столбца «sity» нет в таблицах запроса. Сверь имя со схемой. Если это текст, а не столбец, возьми его в одинарные кавычки.
Заводи базы из шаблонов — магазин «Ярко», библиотека или пустая — и сохраняй снапшоты: удалил лишнее, загрузил снапшот — база как была. «поделиться» кладёт запрос и шаблон его базы в ссылку: по ней запрос откроется в своей базе.
бесплатно — 3 базы одновременно, Premium снимает лимит; имя базы меняет F2 прямо в списке
у базы несколько скриптов — вкладками над кодом, история запросов и примеры на её данных
до 20 снапшотов; после входа они хранятся в аккаунте и открываются с любого устройства
сниппет сохраняет запрос под курсором и вставляет его в скрипт, ничего не стирая
перетащи на страницу CSV — станет таблицей базы, .sql — откроется в редакторе
тестовые строки для таблицы — одним кликом на схеме: INSERT … generate_series по типам её столбцов
песочница/SQL найти поделиться
базы 1/32/3
магазин «Ярко»магазин «Ярко»
отчётыбиблиотека
снапшоты базы
сохрани базу под именем — сможешь восстановить её в этом браузере
до удалениязагрузить
магазин «Ярко»
1▶DELETE FROM orders WHERE qty > 1;
выполнится всё или выделенноевыполнен 1 оператор · изменено 5 строк · 3 мсвыполнить
база «отчёты» создана
снапшот «до удаления» сохранён
снапшот «до удаления» загружен в базу
ссылка скопирована
05
План запроса и график
«план» показывает, как PostgreSQL выполняет запрос: шаг за шагом, у каждого — фраза по-русски, строки и время, а самый долгий помечен. Сгруппированный результат одной кнопкой становится графиком.
у каждого шага — его условие, соединение, порядок или группы
изменяющий запрос для плана выполняется и откатывается — данные не меняются
длинное значение открывается целиком: JSON — с отступами и кнопкой копирования
песочница/SQL найти поделиться
магазин «Ярко»
1▶SELECT p.category, count(*) AS orders
2FROM orders o JOIN products p ON p.id = o.product_id
3GROUP BY p.category ORDER BY orders DESC;
4 строки · 51 мсстроим план…план готов · выполнение 1,8 мспланвыполнить
результатплан запроса
#
category
orders
1
клавиатуры
6
2
мыши
6
3
мониторы
5
4
аксессуары
5
клавиатуры6
мыши6
мониторы5
аксессуары5
выполнение 1,8 мс · планирование 0,1 мс
Sort4 строки · 1,4 мс
сортирует строки
порядок: (count(*)) DESC
Aggregate4 строки · 1,4 мсдольше всего
группирует строки через хеш-таблицу и считает агрегаты групп
группы: p.category
Hash Join22 строки · 0 мс
соединяет строки: одну часть кладёт в хеш-таблицу, по другой ищет в ней пары
соединение по: (o.product_id = p.id)
Seq Scanorders o22 строки · 0 мс
читает всю таблицу orders строку за строкой
06
Длинный скрипт — без прокрутки
Ctrl+Shift+O показывает операторы скрипта: набери таблицу или столбец — останутся те, где они есть, а Enter ведёт к нужному. F12 на таблице находит её карточку на схеме, а Alt+F12 открывает её CREATE TABLE прямо под строкой.
в той же палитре — другие скрипты базы, ! — ошибки и предупреждения, % — строки с текстом во всех скриптах, : — переход к строке
F12 на псевдониме или имени запроса WITH ведёт к объявлению, Shift+F12 собирает все его места, F2 переименовывает
? — все клавиши редактора одним списком
песочница/SQL найти поделиться
магазин «Ярко»
@products
SELECT name, city FROM customers WHERE city = 'Казань'магазин «Ярко»:1
SELECT p.title, count(*) AS orders FROM orders o JOIN products p ON p.id = o.product_id GROUP BY p.title ORDER BY orders DESCмагазин «Ярко»:2
SELECT city, count(*) FROM customers GROUP BY cityмагазин «Ярко»:5
:строка@оператор%в скрипте!ошибки?клавиши
1▶SELECT name, city FROM customers WHERE city = 'Казань';
2▶SELECT p.title, count(*) AS orders
3FROM orders o JOINproducts p ON p.id = o.product_id
схема.sql - Определения (1)
16CREATE TABLE products (
17 id int4 PRIMARY KEY,
18 title text NOT NULL,
19 category text NOT NULL,
20 price int4 NOT NULL
21);
CREATE TABLE products (
4GROUP BY p.title ORDER BY orders DESC;
5▶SELECT city, count(*) FROM customers GROUP BY city;
Стартовый набор — магазин «Ярко»: клиенты, товары, заказы. После первого запуска схема рисуется по твоей реальной базе: колонки, первичные ключи, стрелки внешних ключей.
Схема перерисовывается после каждого запуска. Объяви связь через REFERENCES — появится стрелка.
Как работает песочница SQL в браузере?
Внутри — PGlite: PostgreSQL 18, скомпилированный в WebAssembly. В быстром редакторе одна база магазина: можно писать SELECT, создавать таблицы и менять данные. Полноэкранный редактор добавляет несколько баз, шаблоны, снапшоты, сниппеты, историю запросов, план запроса, импорт CSV, ссылку на запрос и экспорт SQL. Базы двух редакторов хранятся отдельно.
Ограничения песочницы
база живёт в этом браузере: на другом устройстве или в инкогнито её не будет
несколько операторов выполняются одной транзакцией — ошибка откатывает весь запуск
вывод обрезается на 200 строках
на запуск отводится 10 секунд, после тайм-аута движок перезапускается
Что бесплатно, а что с Premium
Без регистрации работает весь редактор: подсказки по схеме, вкладка на каждый запрос, ошибки до запуска, план запроса, снапшоты и ссылка на запрос. Premium снимает лимит баз и открывает SQL-тренажёр и курсы целиком.
Бесплатно
Весь редактор — даже без аккаунта
0 ₽
Без карты и подписки
3 базы одновременно
снапшоты — в этом браузере, после входа — в аккаунте
PostgreSQL 18, собранный в WebAssembly (PGlite). Движок выполняется внутри страницы, сервера баз данных за ней нет.
Это онлайн-компилятор SQL?
Да, в том смысле, в каком его обычно ищут: пишешь запрос, нажимаешь «выполнить» и сразу видишь таблицу с результатом. Строго говоря, SQL не компилируют — запрос выполняет СУБД, здесь это PostgreSQL 18 прямо в браузере, бесплатно и без регистрации.
Подойдёт ли песочница для MySQL или SQL Server?
Для общего SQL — да: SELECT, JOIN, GROUP BY и подзапросы пишутся одинаково. Но движок здесь PostgreSQL, и слова чужих диалектов он не примет: LIMIT 2, 1 из MySQL падает с ошибкой «LIMIT #,# syntax is not supported» — пиши LIMIT 1 OFFSET 2; вместо AUTO_INCREMENT пиши GENERATED ALWAYS AS IDENTITY, вместо TOP 3 из SQL Server — LIMIT 3, а имена в обратных кавычках бери в двойные.
Нужно ли устанавливать PostgreSQL или регистрироваться?
Нет. В быстром редакторе движок (~17 МБ) загружается при первом запуске запроса. По кнопке «открыть полноэкранный редактор» доступны несколько баз, снапшоты, сниппеты и экспорт SQL — тоже без регистрации.
Куда уходят мои запросы и данные?
В быстром редакторе запросы выполняются и база хранится в браузере. В полноэкранной песочнице у гостя снапшоты и сниппеты тоже сохраняются локально; если ты вошёл в аккаунт, снапшоты сохраняются в профиль. «поделиться» кладёт запрос в саму ссылку, на сервере он не хранится. Обычный запуск SQL не отправляет код или таблицы на сервер.
Можно ли создавать таблицы и менять данные?
Да. Работают CREATE TABLE, INSERT, UPDATE, DELETE и ALTER — весь DDL и DML PostgreSQL. Объяви внешний ключ через REFERENCES, и на схеме появится стрелка между таблицами.
Сохранится ли база между визитами?
Да, если браузер разрешает хранение данных сайта. База быстрого редактора сохраняется на этом устройстве. В полноэкранной песочнице отдельно сохраняются базы, текст редактора, снапшоты, сниппеты и история запросов. Очистка данных сайта удалит локальную работу; в полноэкранном редакторе базу можно скачать файлом .sql.
Что делать после песочницы?
Открыть SQL-тренажёр: 46 задач с мгновенной проверкой на базе бронирований, первые 6 бесплатно. Дальше — курс «SQL для аналитиков» с судьёй на скрытых тестах.