Claude для SQL-запросов: черновик, проверка, риски

Как получать от Claude правильные SQL-запросы: что дать модели, как проверять запрос и чего не делать с рабочей базой.
Claude для SQL-запросов: черновик, проверка, риски — иллюстрация Claude на русском

Claude хорошо пишет SQL: от простых выборок до сложных запросов с оконными функциями. Но он не видит вашу базу и может ошибиться в названии поля или логике соединения. Разберём, как получать правильные запросы и не навредить данным.

Что дать модели

  • СУБД: PostgreSQL, MySQL, ClickHouse, MS SQL — синтаксис различается.
  • Структура таблиц: названия полей и типы. Удобнее всего — вывод CREATE TABLE или описание схемы.
  • Связи: какие поля связывают таблицы.
  • Что нужно получить — простыми словами и с примером результата.
  • Особенности данных: есть ли NULL, дубли, удалённые записи с флагом.

Шаблон запроса

PostgreSQL. Таблицы: orders(id, user_id, created_at, amount, status), users(id, city, registered_at). Нужна выручка по городам за сентябрь 2026, только заказы со статусом ‘paid’. Отсортируй по выручке по убыванию. Объясни запрос построчно.

Просьба объяснить запрос помогает заметить логические ошибки.

Безопасный порядок работы

  1. Получить запрос от Claude.
  2. Прочитать его и понять, что он делает.
  3. Запустить на тестовой базе или с LIMIT.
  4. Проверить результат на известных данных: совпадает ли итог с отчётом?
  5. Только потом использовать в работе.

Типичные ошибки модели

  • выдуманные названия полей, если схема не дана;
  • дубли строк из-за неправильного JOIN;
  • потеря записей с NULL в условиях WHERE;
  • неправильная граница дат: <= '2026-09-30' вместо < '2026-10-01' для поля с временем;
  • синтаксис другой СУБД.

Чего никогда не делать

  • Не запускайте UPDATE, DELETE и DROP от Claude на рабочей базе без проверки и резервной копии.
  • Не вставляйте в чат реальные данные клиентов — достаточно структуры.
  • Не давайте модели прямой доступ на запись к рабочей базе.

Полезные запросы

  • «Объясни, почему этот запрос работает медленно, и предложи индексы».
  • «Перепиши запрос без подзапросов, через CTE».
  • «Найди ошибку: запрос возвращает больше строк, чем ожидалось».
  • «Преобразуй этот запрос из MySQL в PostgreSQL».

Частые вопросы

Можно ли анализировать выгрузку без базы?

Да, загрузите CSV. Подробнее — в статье Claude для Excel и CSV.

Как встроить генерацию SQL в свою программу?

Через API. Начните со статьи Claude API: первый запрос на Python.

Как проверять код от Claude в целом?

См. статью Claude для code review.

Понравилась статья? Отправляйте друзьям!
Claude на русском
Comments: 1
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: