Проверка синтаксиса SQL

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

Обновлено

Ваши данные никогда не покидают ваш компьютер. Вся обработка выполняется на 100% локально в вашем браузере.

Был ли этот инструмент полезен?0.0 Оценок: 0
Форматируйте SQL-запросы онлайн бесплатноSQL-форматтер →

Как пользоваться: SQL валидатор

  1. Выберите диалект вашей базы данных (MySQL, PostgreSQL, SQL Server, SQLite, BigQuery и другие).
  2. Вставьте или откройте ваш SQL. Несколько операторов, разделённых точками с запятой, поддерживаются.
  3. Ошибки показывают строку, столбец и ожидаемые токены, а проблемное место выделяется.
  4. Корректные операторы выводятся с их типом и затрагиваемыми таблицами, а также с предупреждениями о рискованных конструкциях.

Что проверяет SQL валидатор?

SQL валидатор (или проверщик синтаксиса) разбирает ваш запрос по грамматике конкретной базы данных и сообщает, корректно ли он составлен: сбалансированы ли скобки, стоят ли ключевые слова в правильном порядке, верны ли выражения, есть ли запятые между столбцами и так далее. Этот инструмент делит скрипт на операторы, разбирает каждый отдельно, чтобы вы сразу видели все ошибки, и указывает строку и столбец, где разбор остановился.

Предупреждения о лучших практиках

ПредупреждениеПочему это важно
UPDATE / DELETE без WHEREИзменяет все строки таблицы, обычно это ошибка.
SELECT *Загружает столбцы, которые могут не понадобиться, и ломается при добавлении или перестановке столбцов.
INSERT без списка столбцовЗависит от порядка столбцов: добавление столбца сломает запрос.
LIKE '%…'Подстановочный знак в начале не может использовать обычный индекс и приводит к полному сканированию таблицы.
= NULLНикогда не истинно; используйте IS NULL.
ORDER BY без LIMIT в подзапросе или LIMIT без ORDER BYПорядок строк не гарантирован без явной сортировки.

Различия диалектов, которые вызывают ошибки

  • Кавычки для идентификаторов — MySQL и MariaDB используют обратные кавычки (`order`), PostgreSQL, SQLite и стандарт SQL используют двойные кавычки, SQL Server использует квадратные скобки ([order]).
  • Ограничение количества строк — LIMIT 10 в MySQL, PostgreSQL и SQLite; TOP 10 или OFFSET … FETCH в SQL Server.
  • Upsert — ON DUPLICATE KEY UPDATE (MySQL), ON CONFLICT … DO UPDATE (PostgreSQL, SQLite) и MERGE (SQL Server, Snowflake, BigQuery).
  • Приведение типов — PostgreSQL принимает value::int, большинство других баз требуют CAST(value AS INT).

Сделайте запрос читаемым с помощью форматировщика SQL, создавайте операторы из данных с помощью CSV в SQL или JSON в SQL, а таблицы проектируйте в генераторе CREATE TABLE.

Также ищут как: sql checker онлайн.

Инструменты, которые хорошо сочетаются с SQL валидатор

Часто задаваемые вопросы

Мой SQL отправляется на сервер или в базу данных?
Нет. Запрос разбирается в вашем браузере с помощью грамматики открытого проекта node-sql-parser. Ничего не загружается и не выполняется.
Означает ли корректный результат, что запрос выполнится?
Это означает, что синтаксис верен для выбранного диалекта. Валидатор не знает вашу схему, поэтому опечатка в имени таблицы или столбца, отсутствие прав доступа или несоответствие типов проявятся только при выполнении в базе данных.
Почему ошибка указывает на место после моей ошибки?
Парсер сообщает о первом токене, который не может вписать в грамматику. Опечатка в ключевом слове, например WHER, часто воспринимается как псевдоним, поэтому ошибка появляется на следующем слове. Проверьте также токен непосредственно перед отмеченным местом.
Какие операторы поддерживаются?
SELECT (с соединениями, подзапросами, CTE, оконными функциями, UNION), INSERT, UPDATE, DELETE, REPLACE, CREATE / ALTER / DROP TABLE, CREATE INDEX и VIEW, TRUNCATE, USE и другие, в зависимости от диалекта. Хранимые процедуры и специфичные для вендора процедурные блоки поддерживаются не полностью.
Можно ли установить SQL валидатор как веб-приложение и пользоваться им офлайн?
Да. SQL валидатор — это веб-приложение (PWA), которое можно установить из браузера, без скачивания из магазина приложений. В Chrome или Edge (Windows, macOS, Linux, ChromeOS) или на Android нажмите вверху этой страницы «Установить приложение»; на iPhone и iPad используйте «Поделиться → На экран «Домой»», а в Safari 17+ на Mac — «Файл → Добавить в Dock». После этого приложение откроется в отдельном окне со своим значком, и так как оно полностью работает в браузере, оно продолжит работать офлайн. Firefox на компьютере не умеет устанавливать веб-приложения. Как работает установка.

Похожие инструменты

localSQL-форматтерВставьте запрос или целую миграцию и получите читаемый SQL: по одному предложению в строке, выровненные…localПроверка синтаксиса MySQLПроверьте SQL-запросы MySQL перед запуском. Валидатор разбирает каждый оператор по грамматике MySQL и…localПроверка синтаксиса PostgreSQLПроверяйте запросы PostgreSQL прямо в браузере. Каждая инструкция разбирается по грамматике PostgreSQL,…localГенератор CREATE TABLEНастройте таблицу по столбцам: типы, первичный ключ, NOT NULL, UNIQUE, автоинкремент и значения по…localCSV и Excel в SQLВставьте ячейки CSV или Excel либо откройте файл .xlsx и получите готовые к выполнению операторы CREATE…localExcel в JSONОткройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON. Числа,…