Зачем?
Мне давно нужен был учебник по основам SQL, так как иногда приходится готовить к работе людей, которые SQL совсем не знают.
Почему не взять готовое?
Из готового есть куча книг, учебников, курсов, видео и так далее.
Но у них есть недостатки:
- Мне нужна книга в печатном виде, электронный формат не так хорошо усваивается, не говоря уже о видео
- Книги полны воды, лишних деталей и устаревшей информации
- Статьи и учебники в виде электронных книг не содержат все необходимые мне темы или недостаточно глубоко их раскрывают
- Некоторые темы явно лишние для новичка
- Слишком много текста
Окей, как же сделать книгу за 1 час?
Конечно, я не писал её сам, это было бы нереально за 1 час.
Я поставил эксперимент с DeepSeek: смогу ли я написать учебник по SQL целиком через нейросеть?
Почему DeepSeek?
Несколько дней назад я создавал Bash скрипт для рабочих задач через ChatGPT и через DeepSeek. DeepSeek бесплатный, доступен без VPN и справился с задачей гораздо лучше чем ChatGPT. Мне очень понравилось работать с DeepSeek, поэтому сейчас использую его.
Шаг 1. Создаём содержание
Я попросил написать содержание для учебника.
Использовал такой промт:
Напиши пожалуйста 10 тем которые необходимо изучить чтобы освоить SQL на начальном уровне для веб-разработчика
Я знал, что изначально будут лишние темы. Далее я сократил количество тем, выкинув лишнее.
убери из списка тему по индексам, по безопасности, а также пункт про основы sql
Результат получился отличный!
1. Работа с базами данных
- Создание и удаление БД (
CREATE DATABASE
,DROP DATABASE
) - Выбор БД (
USE
в MySQL,\c
в PostgreSQL)
2. Таблицы и типы данных
- Создание, изменение, удаление таблиц (
CREATE TABLE
,ALTER TABLE
,DROP TABLE
) - Основные типы данных:
INT
,VARCHAR
,TEXT
,BOOLEAN
,DATE
3. Вставка, обновление и удаление данных
INSERT
– добавление записейUPDATE
– изменение данныхDELETE
– удаление записей
4. Выборка данных (SELECT)
- Базовые запросы (
SELECT * FROM table
) - Фильтрация (
WHERE
, операторы=
,>
,<
,!=
) - Сортировка (
ORDER BY
) - Ограничение выборки (
LIMIT
)
5. Условия и операторы
- Логические операторы (
AND
,OR
,NOT
) - Операторы
IN
,BETWEEN
,LIKE
для поиска - Работа с
NULL
(IS NULL
,IS NOT NULL
)
6. Агрегатные функции и группировка
COUNT()
,SUM()
,AVG()
,MIN()
,MAX()
- Группировка (
GROUP BY
) - Фильтрация групп (
HAVING
)
7. Связи между таблицами (JOIN)
- Виды соединений:
INNER JOIN
,LEFT JOIN
- Практика на примере связей “один-ко-многим”
Шаг 2. Пишем главы
Для создания глав учебника я сделал такой базовый промт. Далее чуть-чуть видоизменял его под некоторые главы.
Ты очень опытный веб программист и пишешь методичку по SQL для новичков в веб-программировании. Вы не изучаете фреймворки, а только для начала изучаете чистый SQL. В примерах кода вы используете синтаксис MySQL, но не уточняете что это именно MySQL. Стараемся писать очень кратко и понятно.
Теперь нужно написать главу 1 со следующим содержанием:
### 1. **Работа с базами данных**
- Создание и удаление БД (`CREATE DATABASE`, `DROP DATABASE`)
- Выбор БД (`USE`)
Так как это короткая глава, здесь должны быть только примеры использования команд с самым коротким описанием. Уложись в несколько абзацев текста.
В некоторых случаях мне не хватало некоторых примеров, тогда я просил нейросеть добавить или удалить что-то, и она послушно это делала.
Например, я попросил после SQL запросов расписать что именно делает запрос, а также добавить примеры на отдельные виды запросов.
Также, для каждой главы я открывал новый диалог с нейросетью, чтобы начать с чистого контекста своим промтом. Если этого не делать каждый раз, то выдача “замусоривается” и результат получается хуже.
Шаг 3. Создание PDF
Нейросеть удобно выдаёт результат в моём любимом формате: Markdown. Достаточно кликнуть на иконку копирования под блоком в чате с нейросеткой, и в буфер копируется готовый Markdown.
Далее я вставляю главу в сервис создающий PDF из Markdown и сохраняю главу в PDF.
Таким образом, у меня есть PDF файлы на каждую главу книги и на оглавление. Для удобства я объединил их в общий PDF через ещё один сервис: https://www.ilovepdf.com/merge_pdf
Теперь получив всю книгу в готовом для печати формате PDF, я тут же её и распечатал.
Что же получилось в итоге?
Это не книга, а скорее учебное пособие, краткое введение в основы SQL. Всего в ней получилось 13 страниц, и охвачены все темы которые я хотел охватить.
Единственное чего в ней нехватает, это, пожалуй, задач на закрепление материала. Их можно добавить позже, написав тем же способом что и саму книгу.
Вот и сама книга в 13 страниц: Основы SQL
Благодаря нейросетям я создал её за 1 час.