14500
Присоединяйтесь к нашему каналу и погрузитесь в мир баз данных Связь: @devmangx РКН: https://clck.ru/3H4Wo3
SQL: порядок написания ≠ порядок обработки
Запрос начинается с SELECT, но логически обрабатывается в другом порядке:FROM / JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT
Понимание этой последовательности помогает разобраться, почему алиас из SELECT обычно недоступен в WHERE, а фильтрация результатов агрегации выполняется через HAVING.
Важно: это логический порядок, а физический план выполнения выбирает оптимизатор СУБД.
👉 @SQLPortal
Бэкап есть? А если найду? 😳
👉 @SQLPortal
Оконные функции SQL: аналитика без потери отдельных строк
В отличие от GROUP BY, оконные функции позволяют выполнять вычисления по группам строк, сохраняя каждую строку в результате.
Ранжирование, накопительные суммы, скользящие средние, сравнение с предыдущей или следующей строкой через LAG и LEAD, работа с процентилями и границами окна — базовые приёмы, которые стоит освоить.
👉 @SQLPortal
5 групп реляционных СУБД, которые полезно знать
• С открытым исходным кодом: PostgreSQL, MariaDB.
• Коммерческие и корпоративные: Oracle Database, Microsoft SQL Server, IBM Db2.
• Встраиваемые и настольные: SQLite, Microsoft Access.
• Распределённые SQL / NewSQL: CockroachDB, YugabyteDB.
• Облачные аналитические хранилища: Snowflake, Amazon Redshift.
Это условная группировка: здесь смешаны лицензирование, архитектура и назначение. Категории могут пересекаться — например, распределённая СУБД может одновременно быть open-source.
👉 @SQLPortal
Линтер и автоформаттер для SQL
Бесплатный инструмент с открытым исходным кодом, который проверяет SQL на соответствие заданным правилам и автоматически исправляет многие нарушения: отступы, пробелы, регистр ключевых слов и другие детали оформления.
Поддерживает PostgreSQL, MySQL, T-SQL, ClickHouse, BigQuery и другие диалекты. Работает с шаблонами Jinja и проектами dbt через отдельный плагин.
https://github.com/sqlfluff/sqlfluff
👉 @SQLPortal
CSRF ≠ XSS ≠ SQL-инъекция. Все три уязвимости безопасности, но механизмы атак у них разные
CSRF — межсайтовая подделка запроса: Злоумышленник заставляет браузер авторизованного пользователя отправить запрос на действие, которого пользователь не собирался выполнять.
XSS — межсайтовый скриптинг: Вредоносный JavaScript внедряется в страницу и выполняется в браузере другого пользователя в контексте сайта.
SQL-инъекция: Пользовательские данные изменяют структуру SQL-запроса, позволяя злоумышленнику читать, изменять или удалять данные.
Как защищаться:
CSRF
• Использовать CSRF-токены.
• Настроить атрибут SameSite для cookies.
• Проверять заголовки Origin/Referer для запросов, изменяющих состояние.
XSS
• Экранировать данные при выводе с учётом контекста: HTML, атрибуты, JavaScript.
• Если пользовательский HTML разрешён — очищать его с помощью санитайзера.
• Использовать строгую Content Security Policy (CSP) как дополнительный уровень защиты.
• Не вставлять недоверенный HTML напрямую в страницу.
SQL-инъекций
• Использовать подготовленные выражения и параметризованные запросы.
• Не подставлять пользовательский ввод в SQL через конкатенацию строк.
• Проверять входные данные и ограничивать права учётной записи БД.
Как запомнить:
CSRF — нежелательный запрос от вашего браузера.
XSS — чужой код в вашем браузере.
SQL-инъекция — чужая логика в запросе к базе.
👉 @SQLPortal
Один из лучших ресурсов по производительности SQL:
use-the-index-luke.com
👉 @SQLPortal
6 инструментов в закладки бэкенд-разработчику
• Hoppscotch — тестирование API и просмотр ответов.
• Webhook.site — отладка вебхуков и проверка их содержимого.
• dbdiagram.io — визуализация схем баз данных.
• Dalibo Explain — разбор планов выполнения запросов PostgreSQL.
• ngrok — доступ к локальному серверу извне для тестирования.
• Sentry — отслеживание и отладка ошибок в продакшене.
ИИ помогает писать бэкенд. Эти инструменты помогают проверять, как он работает.
👉 @SQLPortal
В стране 2 000 клиентов. Сколько SQL-запросов этот метод отправит в базу данных?
Напишите число в комментариях.
👉 @SQLPortal
А что, если SQL сможет искать и по точному совпадению, и по смыслу?
В YDB от Yandex B2B Tech появился гибридный поиск, который объединяет полнотекстовый и векторный поиск.
Полнотекстовый индекс ищет конкретные слова и значения, а векторный — похожие по смыслу данные. Например, запрос может одновременно содержать номер документа и описание нужной ситуации.
Раньше для такого сценария часто приходилось использовать несколько систем: основную БД, поисковый движок и векторное хранилище. Между ними нужно синхронизировать данные и отдельно поддерживать каждый компонент.
В YDB оба индекса работают как распределённые таблицы и обновляются в рамках одной транзакции вместе с основными данными. Поэтому поиск можно строить непосредственно поверх данных в БД.
Такой подход пригодится для поиска по документам и корпоративным базам знаний, каталогам, тикетам, а также для RAG и ИИ-ассистентов, где важно одновременно находить точные значения и учитывать контекст запроса.
Гибридный поиск доступен в enterprise-редакции версии 26.3 для использования в on-premises и в Managed Service for YDB.
Хотите, чтобы ИИ-агенты отвечали точнее, а рекомендации были релевантнее? 15 октября на митапе команда YDB покажет, как совместить смысловой и точный поиск в одной СУБД.
🔥 Регистрация по ссылке
GitHub раздаёт знания бесплатно: интерактивные курсы по Git
Платформа запустила cборку онлайн курсов, где можно прокачать навыки работы с Git и GitHub без подписок. Ветки, коммиты, pull request’ы, Actions и реальные командные сценарии всё в формате интерактивных
Быстрый и лёгкий способ подтянуть базу и перестать гуглить «как откатить коммит» в неподходящий момент 👇
👉 @SQLPortal
Вам не нужен перегруженный клиент для баз данных, чтобы просто посмотреть содержимое таблицы.
Data Peek — минималистичный desktop SQL-клиент с поддержкой ИИ для разработчиков, работающих с PostgreSQL, MySQL, Microsoft SQL Server и SQLite.
Он позволяет в одном приложении просматривать, запрашивать и управлять данными, объединяя SQL-редактор на базе Monaco, инструменты для работы со схемой, AI-ассистента и средства анализа производительности.
Основные возможности:
• Поддержка нескольких СУБД — PostgreSQL, MySQL, Microsoft SQL Server и SQLite.
• AI-помощь с SQL — можно задавать вопросы на естественном языке и получать SQL-запросы, графики и аналитику. Поддерживаются облачные провайдеры и локальные модели через Ollama.
• Безопасный доступ для агентов — локальный MCP-сервер ограничивает и оборачивает read-запросы в транзакции с возможностью отката, а для каждого изменения данных требуется подтверждение в приложении.
• Анализ производительности запросов — можно изучать время выполнения и планы запросов, измерять p50/p90/p99 latency и отменять долгие запросы.
• Инструменты для разработчиков — SSH-туннели, сохранённые запросы, ручное управление транзакциями, импорт/экспорт данных и командная палитра с управлением с клавиатуры.
Исходный код распространяется под лицензией MIT, однако для коммерческого использования готовых бинарных сборок требуется лицензия.
https://github.com/Rohithgilla12/data-peek
👉 @SQLPortal
Интерактивные дорожные карты
Когда новички заходят в IT они часто теряются в океане технологий
Платформа призвана решить проблему и предлагает понятные визуальные карты обучения, составленные экспертами и сообществом. Здесь можно отследить свой прогресс, найти лучшие источники и понять что реально стоит учить в 2025
Забирай пригодится 🪑
👉 @SQLPortal
Вопрос по SQL:
Что вернёт этот запрос?
👉 @SQLPortal
Основные команды SQL в одной таблице.
👉 @SQLPortal
Какие навыки нужны дата-инженеру?
В вакансиях прослеживается закономерность: на первом месте SQL и Python, дальше — облачные платформы, Spark, хранилища данных, оркестрация пайплайнов, потоковая обработка, Git, контейнеры и инструменты для работы с большими данными.
👉 @SQLPortal
Горизонтальные или вертикальные столбцы: что выбрать?
Оба варианта помогают сравнивать категории, но ориентация влияет на читаемость.
• Горизонтальные столбцы удобны, когда категорий много или у них длинные названия.
• Вертикальные столбцы подходят для небольшого количества категорий, которые нужно быстро сравнить между собой.
👉 @SQLPortal
DBcooper — лёгкий клиент для работы с базами данных
Open-source-приложение на Tauri, Rust и React объединяет PostgreSQL, SQLite, Redis и ClickHouse в одном интерфейсе. Акцент на простоте и удобной работе с клавиатуры. А ещё есть генерация SQL по описанию на естественном языке.
https://github.com/amalshaji/dbcooper
👉 @SQLPortal
Разбираем SQL-запросы с помощью Python
Какие таблицы и колонки использует запрос? Библиотека sql-metadata извлечёт эту информацию из SQL без подключения к базе и выполнения запроса.
Умеет работать с алиасами и подзапросами, определять колонки в SELECT, WHERE, JOIN и других частях запроса. Поддерживает синтаксис PostgreSQL, MySQL, SQLite, SQL Server и Apache Hive.
Пригодится для анализа SQL-файлов, автоматической документации и поиска зависимостей между запросами и таблицами.
https://github.com/macbre/sql-metadata
👉 @SQLPortal
Знатоки SQL и те, кто только учится, вопрос к вам
Какой из этих запросов вы выберете для выполнения?
👉 @SQLPortal
Знатоки SQL: в каких случаях стоит использовать код A, а в каких — код B?
👉 @SQLPortal
Microsoft представила обновления SQL на SQLCon Barcelona 2026
Среди главных направлений — поддержка ИИ в локальной инфраструктуре, повышение производительности критически важных приложений и интеллектуальные инструменты управления базами данных.
Подробнее об анонсах
👉 @SQLPortal
Вопрос по SQL
Посмотрите на запрос: как думаете, какой результат он вернёт и почему?
👉 @SQLPortal
Согласны с этим? Третьего пора повышать? 🙂
👉 @SQLPortal
SQL CHEATSHEET ДЛЯ РАЗРАБОТЧИКОВ
Освойте самые важные SQL-команды в одном месте.
Изучаете базы данных, готовитесь к собеседованию, разрабатываете backend-приложения или работаете разработчиком — SQL является обязательным навыком.
В этом cheatsheet:
• SELECT
• WHERE
• ORDER BY
• GROUP BY и HAVING
• JOIN
• Агрегатные функции
• Подзапросы
• INSERT, UPDATE и DELETE
• Wildcards
• Основные типы данных SQL
👉 @SQLPortal
🔴В 2025 году Россияне заработали 5,3 млрд рублей на арбитраже криптовалют
По данным Минфин 32% граждан покинули своё место работы, поскольку в среднем уже в первый месяц тут можно зарабатывать от 140 000 рублей, а через 2-3 месяца с легкостью выйти на семизначные числа.
Самое смешное, что лишь 8% россиян что-то слышали об этой профессии, хотя все инструкции бесплатно лежат на канале Арбитраж Криптовалют
Там объясняют, как имея телефон и доступ в интернет, заработать свои первые $2000. Причём разжёвывают так доступно, что поймёт даже ребенок. Кстати, на канале сегодня вышла новая рабочая связка!
Быстрее вступайте, пока это бесплатно — /channel/+yFtPq4VlI-k0OWEy
Мёд по Git: шпаргалка которая закрывает 90% задач
Нашёл мощную cheat sheet по Git всё самое нужное на нескольких страницах: инициализация, коммиты, ветки, merge, diff, stash, rebase и работа с удалёнными репозиториями
Особенно удобно, что показаны не только команды, но и как всё двигается внутри Git: staging area, история коммитов, ветки и их слияние
Сохраняем PDF за лайк ❤️
👉 @SQLPortal
Игра в SQL кальмара от DataLemur
Интерактивная игра для прокачки SQL-навыков. Выполняешь реальные задачки в формате интервью и тут же проверяешь результат. Подойдёт всем, кто хочет практиковать SQL с пользой.
👉 @SQLPortal
Новичкам в Postgres — разберитесь с основами создания таблиц: первичные ключи, внешние ключи и типы данных, всё это в oбучающем гайде
-- https://www.crunchydata.com/developers/playground/postgres-tutorial-create-tables
👉 @SQLPortal
Всегда используйте подготовленные выражения, чтобы предотвратить SQL-инъекции.
Вот пример кода, который делает вашу программу уязвимой к малым атакам:
user_input = request.form['username']
query = f"SELECT * FROM users WHERE username = '{user_input}'"
cursor.execute(query)
user_input = request.form['username']
query = "SELECT * FROM users WHERE username = ?"
cursor.execute(query, (user_input,))