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

Проверьте SQL-запросы MySQL перед запуском. Валидатор разбирает каждый оператор по грамматике MySQL и показывает, где он ломается: обратные кавычки, LIMIT, ON DUPLICATE KEY UPDATE и всё остальное.

Обновлено

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

Был ли этот инструмент полезен?0.0 Оценок: 0
Онлайн SQL валидатор для MySQLPostgreSQL, SQL Server, SQLite, BigQuery и Snowflake: точная строка и столбец ошибки, плюс предупреждения о лучших практиках.SQL валидатор →

Как пользоваться: Проверка синтаксиса MySQL

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

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

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

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

ПредупреждениеПочему это важно
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).

Частые синтаксические ошибки MySQL

Сообщение MySQL «You have an error in your SQL syntax… near '…' at line 1» приводит текст с места, где разбор не удался. Частые причины: зарезервированные слова в качестве имён (order, group, key — заключите их в обратные кавычки), лишняя запятая перед FROM, двойные кавычки для идентификаторов (MySQL считает их строками, если не включён режим ANSI_QUOTES) и пропущенная запятая между столбцами.

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

Также ищут как: проверить синтаксис sql онлайн, mysql syntax checker, синтаксис mariadb, проверка sql запроса.

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

  • SQL валидатор — Вставьте один запрос или весь скрипт, чтобы проверить синтаксис по грамматике вашей базы данных.
  • Проверка синтаксиса PostgreSQL — Проверяйте запросы PostgreSQL прямо в браузере.
  • Excel в JSON — Откройте книгу .xlsx или вставьте ячейки прямо из Excel или Google Sheets и получите чистый JSON.
  • JSON в Excel — Превратите JSON-массив в настоящую книгу Excel.

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

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

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

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