SQL и БД Learning
الذهاب إلى القناة على Telegram
№ 5060218708 Изучаем SQL с нуля По всем вопросам @mascarov_valentin Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
إظهار المزيد9 686
المشتركون
-124 ساعات
-37 أيام
-4730 أيام
أرشيف المشاركات
9 685
⚠️ Как создать собственный тип данных с помощью PostgreSQL?
Расскажем на открытом уроке «Пользовательские типы данных в PostgreSQL» в рамках практического курса «PostgreSQL для администраторов баз данных и разработчиков» от OTUS
🔹На открытом уроке рассмотрим как можно создать пользовательский тип и как с ним работать.
🔹Разберем несколько примеров детально "до винтика"
🦾 PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Тестируйте занятие на бесплатном уроке и начните обучение уже 30 июля.
👉 Регистрация и подробности
https://otus.pw/sl5x/?erid=LjN8K1LDo
9 685
🖥 BACKUP DATABASE в SQL
Важно регулярно создавать резервные копии базы данных, чтобы данные не были потеряны в случае повреждения базы данных (БД). В SQL мы можем создавать резервные копии БД с помощью оператора
BACKUP DATABASE.
Например:
BACKUP DATABASE orders
TO DISK = 'C:\orders_backup.bak';
Здесь мы создаем файл резервной копии базы данных orders на диске C с именем orders_backup.bak.
Примечание: Распространено использование расширения .bak для файлов резервных копий БД, однако это не является обязательным.
Резервное копирование только новых изменений в SQL
В SQL мы также можем сделать резервную копию только новых изменений по сравнению с предыдущей резервной копией, используя команду WITH DIFFERENTIAL. Например:
BACKUP DATABASE orders
TO DISK = 'C:\orders_backup.bak'
WITH DIFFERENTIAL;
Здесь мы добавляем только новые изменения в предыдущий файл резервной копии. Следовательно, эта команда работает быстрее, нежели создание резервной копии БД с нуля.
Восстановление базы данных из резервной копии
Для восстановления файла резервной копии в системе управления базой данных (СУБД) используется оператор RESTORE DATABASE. Например:
RESTORE DATABASE orders
FROM DISK = 'C:\orders_backup.bak';
Здесь мы восстанавливаем файл резервной копии orders_backup.bak в базе данных orders.9 685
🖥 BACKUP DATABASE в SQL
Важно регулярно создавать резервные копии базы данных, чтобы данные не были потеряны в случае повреждения базы данных (БД). В SQL мы можем создавать резервные копии БД с помощью оператора
BACKUP DATABASE.
Например:
BACKUP DATABASE orders
TO DISK = 'C:\orders_backup.bak';
Здесь мы создаем файл резервной копии базы данных orders на диске C с именем orders_backup.bak.
Примечание: Распространено использование расширения .bak для файлов резервных копий БД, однако это не является обязательным.
Резервное копирование только новых изменений в SQL
В SQL мы также можем сделать резервную копию только новых изменений по сравнению с предыдущей резервной копией, используя команду WITH DIFFERENTIAL. Например:
BACKUP DATABASE orders
TO DISK = 'C:\orders_backup.bak'
WITH DIFFERENTIAL;
Здесь мы добавляем только новые изменения в предыдущий файл резервной копии. Следовательно, эта команда работает быстрее, нежели создание резервной копии БД с нуля.
Восстановление базы данных из резервной копии
Для восстановления файла резервной копии в системе управления базой данных (СУБД) используется оператор RESTORE DATABASE. Например:
RESTORE DATABASE orders
FROM DISK = 'C:\orders_backup.bak';
Здесь мы восстанавливаем файл резервной копии orders_backup.bak в базе данных orders.9 685
💻Как создать процедуру в PostgreSQL?
⏩Итак, для создания процедуры в PostgreSQL используется язык PL/pgSQL, который является расширением языка SQL. Вот пример создания простой хранимой процедуры в PostgreSQL:
CREATE OR REPLACE FUNCTION 'имя_процедуры(параметры)' RETURNS 'тип_результата' AS $$
DECLARE
-- переменные_локальные тип_переменной
BEGIN
-- Тело процедуры
-- Может содержать SQL запросы, управляющие конструкции и другие операторы
END;
$$ LANGUAGE plpgsql;
⏩Пример простой процедуры, которая выводит текстовое сообщение:
CREATE OR REPLACE FUNCTION hello_world()
RETURNS VOID AS $$
BEGIN
RAISE NOTICE 'Hello, World!';
END;
$$ LANGUAGE plpgsql;
⏩После выполнения этого запроса, процедура hello_world будет создана в вашей базе данных. Чтобы вызвать эту процедуру, используйте следующий запрос:
SELECT hello_world();
Таким образом, вы можете создавать и вызывать процедуры в PostgreSQL с помощью PL/pgSQL.9 685
SELECT fname, lname, state FROM authors WHERE state NOT IN ('NY', 'NJ', 'CA')
Какой запрос из списка эквивалентен запросу из задачи?
9 685
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:
1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
9 685
Как модифицировать данные в нескольких таблицах и вернуть id затронутых записей в одном запросе?
WITH
updated AS (
UPDATE table1
SET x = 5, y = 6 WHERE z > 7
RETURNING id
),
inserted AS (
INSERT INTO table2 (x, y, z) VALUES (5, 7, 10)
RETURNING id
)
SELECT 'table1_updated' AS action, id
FROM updated
UNION ALL
SELECT 'table2_inserted' AS action, id
FROM inserted;9 685
📚 Здесь собраны все вопросы, которые могут спросить на собеседовании. Теперь можно легко получить оффер, подготовившись к самым популярным вопросам. Просто выбери своё направление:
1. Frontend / JavaScript
2. Python
3. Java
4. Тестировщик QA
5. Data Science
6. DevOps
7. C#
8. С/C++
9. Golang
10. PHP
11. Kotlin
12. Swift
9 685
Экранирование двоичных данных в SQL
В современном веб-разработке базы данных используются повсеместно. При работе с БД часто возникает необходимость хранить двоичные данные, такие как изображения или видео. Однако, есть риск того, что двоичные данные могут содержать символы, которые могут быть восприняты как специальные символы в SQL, что может привести к непреднамеренной модификации данных.
Экранирование двоичных данных
Для экранирования двоичных данных в SQL мы можем использовать функцию mysqli_real_escape_string(). Эта функция автоматически экранирует специальные символы, такие как одинарные кавычки, двойные кавычки и обратные слеши. Чтобы использовать эту функцию, мы должны сначала установить соединение с базой данных, а затем вызвать функцию, передав ей двоичные данные в качестве аргумента.
Пример экранирования двоичных данных в PDO
«PDO – PHP Data Objects – это прослойка, которая предлагает универсальный способ работы с несколькими базами данных.»
В PDO можно экранировать двоичные данные с помощью метода quote(). Этот метод автоматически экранирует специальные символы и возвращает заключенную в кавычки строку. Для использования этого метода мы должны сначала установить соединение с базой данных, а затем вызвать метод quote(), передав ему двоичные данные в качестве аргумента.
9 685
9 685
Задача SQL
У вас в базе данных есть две таблицы: TABLE1 и TABLE2. Нужно ответить на один простой вопрос: отработает ли данный запрос или упадет с ошибкой? И объяснить, почему.
select id,sum(value) over(partition by i order by y), * from table1
Примечание: все поля существуют в таблице и соответствуют нужному типу данных.
Ответ
Да, отработает. Классический пример аналитической функции, внутри которой сначала выполняется группировка (partition by), потом выполняется сортировка (order by) и применяется агрегирующая функция. В данном случае все написано правильно. Этот вопрос проверяет у кандидата знание оконных функций.9 685
⚠️ Приглашаем на открытый урок «SQL и реляционные СУБД» в рамках практического курса «PostgreSQL для администраторов баз данных и разработчиков» от OTUS
🔹 На встрече рассмотрим существующие концепции и принципы работы реляционных СУБД, их структуру и особенности PostgreSQL
🔹 Разберем основные команды для создания, изменения и удаления данных
В течении часа вы научитесь ориентироваться среди имеющихся СУБД и выбирать под свои задачи нужный инструмент
🦾 PostgreSQL — навык, открывающий двери в более интересные и перспективные проекты. Тестируйте занятие на бесплатном уроке и начните обучение уже 30 июля.
👉 Регистрация и подробности
https://clck.ru/3BTQok
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
9 685
Вакансия Senior System Analyst DWH в команде Lamoda Tech
Создаем продукты, которые делают шопинг удобным и вдохновляющим. Результат — 17 млн. довольных пользователей ежемесячно и звание крупнейшей fashion & lifestyle платформы в России по версии Data Insight.
Ищем специалиста на проект развития хранилища данных и автоматизации отчетности.
О задачах: выявлять и оценивать бизнес-требования к новым витринам и отчетности; проводить системный анализ источников данных, проектировать модели данных для новых витрин; разрабатывать техническую документацию; разрабатывать новые юниверсы и отчеты (SAP Business Objects), создавать и изменять объекты в существующих. Стек технологий: Oracle, Vertica, Hadoop, SQL, PowerBI, SAP BO
Что еще интересного: гибрид; офис в Москве и коворкинг в СПб; организуем внутренние и внешние митапы; помогаем развивать личный бренд; шопинг на Lamoda со скидками до 40%
Подробнее о вакансии.
9 685
#вопросы_с_собеседований
Как распарсить строку в SQL?
Часто возникает необходимость распарсить строку в SQL запросе, чтобы получить отдельные элементы. Существует несколько способов это сделать.
1. Использование функции SUBSTRING
Для извлечения отдельных элементов из строки можно использовать функцию SUBSTRING.
2. Использование функции CHARINDEX
Для извлечения подстроки из строки можно использовать функцию CHARINDEX.
3. Использование функции PARSENAME
Для извлечения отдельных элементов из строки, разделенных определенным символом, можно использовать функцию PARSENAME.
