Нереально полезная подборка SQL-запросов, количество запросов вы и сами видите, это покрывает большую часть того, что может встретиться в практике
В том числе здесь:
record и NULL и способы быстрого получения количества записей в большой таблицеUPSERT) и журналирование изменений таблицыDDL) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицыPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
Выберите корректно составленный запрос с функцией GROUP BY:
Anonymous Quiz
90%
select seller_id, count(*) from Orders GROUP BY seller_id;
5%
select count(*) from Orders GROUP seller_id;
4%
select count(*) from Orders GROUP ON seller_id;
2%
Посмотреть ответ
👍11😱2
DbGate — open-source менеджер SQL и NoSQL БД
DbGate — это кроссплатформенный менеджер баз данных. Разработан, чтобы быть простым в использовании и эффективным при работе с несколькими БД одновременно.
Также имеет множество дополнительных функций, таких как сравнение схем, визуальный конструктор запросов, визуализация графиков или пакетный экспорт и импорт.
Поддерживает MySQL, PostgreSQL, SQL Server, MongoDB, SQLite и других.
Работает под Windows, Linux, Mac и как веб-приложение.
🖥 GitHub
DbGate — это кроссплатформенный менеджер баз данных. Разработан, чтобы быть простым в использовании и эффективным при работе с несколькими БД одновременно.
Также имеет множество дополнительных функций, таких как сравнение схем, визуальный конструктор запросов, визуализация графиков или пакетный экспорт и импорт.
Поддерживает MySQL, PostgreSQL, SQL Server, MongoDB, SQLite и других.
Работает под Windows, Linux, Mac и как веб-приложение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
Держите полезную статью о том, как собрать PostgreSQL 16 версии из исходников, инициализировать кластер и запустить его на сервере Debian 12
Причины по которым вам может понадобится собирать PostgreSQL из исходников:
План статьи
├╼ Сборка и установка├╼ Создание кластера├╼ Запуск и остановка кластера├╼ Установка расширений PostgreSQL├╼ Создание и запуск второго кластера╰╼ Создание службы SystemD для кластеровPlease open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Вопрос на SQL собеседовании.
Какие параметры используются в конструкции order by?
Ответ:
ASC и DESC
Какие параметры используются в конструкции order by?
Ответ:
👍10
Как правильно добавить строку в таблицу? Какой запрос верный?
Anonymous Quiz
68%
INSERT INTO `SimpleTable` (`some_text`) VALUES ("my text");
14%
INSERT INTO `SimpleTable` SET `some_text`="my text";
8%
SET INTO `SimpleTable` VALUE `some_text`="my text";
6%
UPDATE INTO `SimpleTable` SET `some_text`="my text";
4%
Узнать ответ
👍7😱2🎄2
Процесс выполнения
SQL-запросов в базе данных включает в себя несколько компонентов, взаимодействующих между собой. Хотя конкретная архитектура различных систем баз данных может отличаться, ниже описана общая последовательность действий.1. Оператор SQL запускается в клиентской программе и передается по сети на сервер базы данных.
2. Когда сервер базы данных получает SQL-оператор, реляционный движок начинает его обработку. Сначала синтаксический анализатор проверяет правильность оператора. Затем он преобразует оператор в дерево запросов, которое представляет собой внутреннюю структуру данных.
3. Оптимизатор запросов просматривает дерево запросов и определяет наиболее эффективный способ выполнения SQL-оператора, создавая план выполнения.
4. План выполнения передается исполнителю запроса, который использует его для координации получения или изменения данных в соответствии с запросом SQL. Для доступа к данным исполнитель взаимодействует с движком хранилища.
5. Движок хранилища использует методы доступа - протоколы чтения и записи данных, наиболее эффективные для выполнения различных операций.
6. При чтении данных менеджер буферов проверяет, кэшированы ли нужные данные в памяти, и при необходимости извлекает их с диска. Это ускоряет последующий доступ.
7. При записи данных со вставкой или обновлением менеджер транзакций следит за тем, чтобы изменения происходили атомарно и сохраняли целостность базы данных.
8. В то же время менеджер блокировок накладывает блокировки, чтобы несколько транзакций могли выполняться одновременно, не конфликтуя между собой. Таким образом, обеспечивается изоляция и согласованность.
Работая вместе, эти компоненты обеспечивают надежную и эффективную обработку SQL-запросов в системе управления базами данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤3
На диаграмме показано множество вариантов использования PostgreSQL - одной базы данных, которая включает в себя почти все функции необходимых разработчикам.
🔹OLTP (Online Transaction Processing)
Мы можем использовать PostgreSQL для CRUD-операций (Create-Read-Update-Delete).
🔹OLAP (Online Analytical Processing)
Мы можем использовать PostgreSQL для аналитической обработки. PostgreSQL основан на архитектуре 𝐇𝐓𝐀𝐏 (Hybrid transactional/analytical processing), поэтому он может хорошо работать как с OLTP, так и с OLAP.
🔹FDW (Foreign Data Wrapper)
FDW - это расширение, доступное в PostgreSQL, которое позволяет нам обращаться к таблице или схеме одной базы данных из другой.
🔹Streaming
PipelineDB - это расширение PostgreSQL для высокопроизводительной агрегации временных рядов, предназначенное для работы с отчетами и аналитическими приложениями в реальном времени.
🔹Geospatial
PostGIS - это расширитель базы данных для объектно-реляционной базы данных PostgreSQL. Он добавляет поддержку географических объектов, позволяя выполнять запросы на определение местоположения в SQL.
🔹Временные ряды
Timescale расширяет PostgreSQL для работы с временными рядами и аналитикой. Например, разработчики могут объединять непрерывные потоки финансовых и тиковых данных с другими бизнес-данными для создания новых приложений и получения уникальных знаний.
🔹Распределенные таблицы
CitusData масштабирует Postgres за счет распределения данных и запросов.
Какая база данных вам нравится больше всего?
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
Для добавления новых записей в таблицу предназначен оператор
Anonymous Quiz
2%
SELECT
85%
INSERT
11%
ADD
1%
Посмотреть ответ
👍7
К какому результату приведет выполнение запроса:
SELECT City FROM Addresses ORDER BY City DESC
SELECT City FROM Addresses ORDER BY City DESC
Anonymous Quiz
2%
Выведется список городов
19%
Выведется список городов в алфавитном порядке (А-Я)
75%
Выведется список городов в обратном алфавитном порядке (Я-А)
4%
Посмотреть ответ
👍4❤1
Open-source решение для хранения и поиска векторов в Postgres.
Сами данные для векторов можно получить, например, из ML-модели и вставить в таблицу с колонкой типа
vector.Или данные можно создать в PostgreSQL как гистограмму определенных категорий. В этом случае можно значения в массивах
real[], integer[] или double precision[], numeric[] привести к типу ::vector.Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
Чем отличается DROP от TRUNCATE?
Anonymous Quiz
16%
DROP - удаляет базу данных, а TRUNCATE - удаляет таблицы
2%
Оба оператора являются аналогами друг друга
77%
TRUNCATE - очищает таблицу, а DROP - удаляет таблицу или запись
5%
Посмотреть ответ
👍14
fselect — поиск файлов при помощи SQL-like запросов
—
Хотя fselect не стремится полностью заменить традиционные find и ls, у fselect есть несколько приятных особенностей:
— SQL-подобная грамматика, легко понятная человеку
— возможность составлять сложные запросы
агрегатные, статистические, даточные и другие функции
поиск в архивах
— поддержка
— поиск по ширине и высоте изображений, метаданным EXIF
— поиск по информации о MP3
— поиск по расширенным атрибутам файлов
— поиск по хэшам файлов
— поиск по типу MIME
— имеет интерактивный режим
— различные форматы вывода (CSV, JSON и другие)
Любители SQL оценят)
🖥 GitHub
🟡 Примеры запросов
—
brew install fselectХотя fselect не стремится полностью заменить традиционные find и ls, у fselect есть несколько приятных особенностей:
— SQL-подобная грамматика, легко понятная человеку
— возможность составлять сложные запросы
агрегатные, статистические, даточные и другие функции
поиск в архивах
— поддержка
.gitignore, .hgignore и .dockerignore — поиск по ширине и высоте изображений, метаданным EXIF
— поиск по информации о MP3
— поиск по расширенным атрибутам файлов
— поиск по хэшам файлов
— поиск по типу MIME
— имеет интерактивный режим
— различные форматы вывода (CSV, JSON и другие)
Любители SQL оценят)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4