Перейти к содержанию

Начало урока

Базы данных: SQL в Node

Общайтесь с Postgres и MySQL из Node.js безопасно, через параметризованные запросы

Главная идея: Работающая программа забывает всё, когда останавливается. База данных — это место, где ваши данные живут после завершения процесса, переживают перезапуски и могут обслуживать множество запросов одновременно. В этой теме вы научитесь подключать Node к настоящей SQL-базе, выполнять запросы через async/await и — самое главное — передавать пользовательский ввод через параметризованные запросы, чтобы злоумышленник никогда не смог переписать ваш SQL.
К концу вы сможете:
  • выбрать и установить драйвер базы данных (pg для Postgres, mysql2 для MySQL),
  • открыть соединение через пул соединений и прочитать строку подключения,
  • выполнять запросы SELECT, INSERT, UPDATE и читать строки результата,
  • использовать параметризованные запросы, чтобы остановить SQL-инъекции,
  • обрабатывать ошибки и корректно возвращать соединения.

1. Зачем база данных (а не файл)?

В начальном курсе вы сохраняли данные с помощью модуля fs — читая и записывая JSON-файлы. Это подходит для списка дел на вашем ноутбуке, но рушится, когда настоящему приложению нужно: быстро искать среди миллионов строк, позволять десяткам запросов писать одновременно, не повреждая файл, и гарантировать, что незавершённое обновление никогда не оставит данные в сломанном состоянии.

Реляционная база данных (Postgres, MySQL, SQLite) решает все три задачи. Она хранит данные в таблицах — строки и столбцы с типами — а вы общаетесь с ней на языке SQL (Structured Query Language). Node сам по себе не говорит на SQL; вы устанавливаете драйвер — небольшую библиотеку, которая открывает сетевое соединение с базой и превращает текст запроса плюс значения JavaScript в протокол, понятный базе.

Аналогия. База данных — это огромный, хорошо организованный склад. SQL — это бланк заказа, который вы заполняете («дайте мне всех клиентов из Берлина»). Драйвер — это курьер, который несёт ваш заказ на склад и приносит коробки обратно. Вы никогда не заходите на склад сами — вы всегда работаете через курьера.

Продолжите этот урок на YourAIZone

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

В полном уроке

  • Объяснение целиком
  • Разобранные примеры
  • Частые ошибки и как их избежать
  • Тестовые вопросы: 15
  • ИИ-репетитор, который отвечает на вопросы по теме
  • Отслеживание прогресса для ученика, родителей и учителя