Чему вы научитесь
Этот курс про то, как Go работает с реляционными базами данных. Начинаем с чистого SQL в MySQL, потом пишем на Go слой доступа к данным. Сначала на стандартном database/sql, затем на sqlx, sqlc и GORM. К концу ты понимаешь, что делает каждый инструмент и где в нем спрятан SQL.
Курс подойдет, если ты уже знаешь основы Go. SQL разберем с нуля, от простых запросов до работы с данными в Go-приложении.
Что ты научишься делать
- Научишься писать SQL-запросы с JOIN, группировкой и подзапросами, создавать таблицы, связи и индексы.
- Научишься подключаться к базе, настраивать пул соединений и читать данные без утечек соединений и потерянных ошибок.
- Будешь защищать код от SQL-инъекций и пользоваться транзакциями и таймаутами через context.
- Сможешь осознанно выбирать между database/sql, sqlx, sqlc и GORM под задачу.
- Узнаешь, как вести изменения схемы базы миграциями через goose.
- Разберешь типовые вопросы о базах данных на собеседованиях на Go.
- Сможешь оформить именной сертификат школы IRON PROGRAMMER по инструкции после итоговой анкеты. Это не автоматический сертификат Stepik.
Из чего состоит курс
- SQL. 19 уроков. MySQL с нуля, от первого запроса до индексов, транзакций и защиты от инъекций.
- database/sql. 12 уроков. Подключение, пул, чтение и изменение данных, параметры, транзакции, context и производительность.
- sqlx, sqlc и миграции. 4 урока. Как убрать ручной Scan, сгенерировать код по запросам и вести схему базы через goose.
- ORM. GORM. 9 уроков. Модели, CRUD, цепочки запросов, связи, транзакции и подводные камни ORM.
- Дополнительно. 2 урока. Подключение к PostgreSQL и работа с базой из нескольких горутин.
- Заключение. Итоги курса, вопросы с собеседований и куда двигаться дальше.
Как ты будешь учиться
Сначала разберешь SQL, затем напишешь слой доступа к данным на database/sql и сравнишь его с sqlx, sqlc и GORM. Примеры используют общую учебную модель пользователей и курсов. Ты увидишь, какие запросы выполняют разные инструменты и как они обрабатывают ошибки.
В курсе 286 тестов и 122 задачи на программирование с автоматической проверкой. В лекциях есть схемы, таблицы и примеры для самостоятельного запуска. Основной формат курса текстовый, учиться можно в своем темпе.
Частые вопросы
Нужно ли знать SQL заранее?
Нет. Второй раздел курса начинается с основ и постепенно переходит к сложным темам.
А PostgreSQL в курсе будет?
Основная база курса – это MySQL. В разделе «Дополнительно» показываем, как подключиться к PostgreSQL и что в коде придется поменять.
Надо ли ставить базу на компьютер?
Для самостоятельного запуска примеров понадобится локальная база данных. Установку MySQL и MySQL Workbench разбираем в уроке 2.3. Задачи SQL проверяются на платформе, а задачи Go используют тестовый драйвер и не требуют подключения к настоящей БД.
Что делать, если что-то непонятно?
Задавай вопросы в комментариях к шагам и в чате курса. Если пример не запускается, приложи код и полный текст ошибки.
Хочешь уточнить, подойдет ли тебе курс? Напиши слово «Консультация» в боте школы.
О курсе
Для кого этот курс
- Ты знаешь основы Go и хочешь добавить работу с базой данных в свои программы.
- Ты уже пишешь SQL-запросы и хочешь разобраться в database/sql, sqlx, sqlc и GORM.
- Ты готовишься к собеседованию на Go-разработчика и хочешь повторить базы данных на практике.
Начальные требования
Нужно знать основы Go: переменные, функции, структуры, срезы и работу с ошибками. SQL и опыт работы с базами данных не требуются. Для самостоятельного запуска примеров понадобится установленный Go и возможность установить MySQL.