Учебный сентябрь близко, и мы не отстаем👨🏫👩🏫
Рассказываю про даты следующих потоков:
🎓 23 августа - Базовый курс «SQL с нуля»
🎓 30 августа - Продвинутый курс «Уверенный пользователь SQL»
Чтобы узнать стоимость и записаться, напишите: @sql_class
Рассказываю про даты следующих потоков:
🎓 23 августа - Базовый курс «SQL с нуля»
🎓 30 августа - Продвинутый курс «Уверенный пользователь SQL»
Чтобы узнать стоимость и записаться, напишите: @sql_class
🔥4❤1👌1
SQL В КАРМАНЕ
📝Часто на старте курса бывают сложности с запоминанием ключевой структуры самых простых запросов. Это абсолютно нормально, когда мы начинаем погружаться в изучение новой сферы🫂 Но для того, чтобы вхождение в SQL было проще, подготовила для Вас карточки.…
В тему карточек ловите ещё одну по UPDATE📝
Она пригодится нам уже на 2 занятии по базовому курсу👀
Она пригодится нам уже на 2 занятии по базовому курсу👀
🔥5👏1😁1
🙋🏻Опрос для выпускников базового курса «SQL с нуля» или людей, имеющих изначальные знания по БД и SQL:
Насколько Вы чувствуете потребность в систематизации пройденного материала совместно с преподавателем в виде 3-4 занятий?
Хотели бы Вы пройти экспресс-интесив по всей программе базового курса, чтобы вспомнить все темы и отработать их на практике ещё раз?
Пройдите, пожалуйста, опрос ниже 🫶🏽
Насколько Вы чувствуете потребность в систематизации пройденного материала совместно с преподавателем в виде 3-4 занятий?
Хотели бы Вы пройти экспресс-интесив по всей программе базового курса, чтобы вспомнить все темы и отработать их на практике ещё раз?
Пройдите, пожалуйста, опрос ниже 🫶🏽
📝Вопрос с урока. Что такое rollback и commit в PostgreSQL?
Пример запроса:
Очень подробно проходим транзакции на продвинутом курсе, увидимся на занятиях! 🫶🏽
COMMIT — команда, которая фиксирует все изменения, выполненные в текущей транзакции. После COMMIT изменения становятся видимыми другим сессиям и сохраняются в базе данных.
ROLLBACK — команда, которая отменяет все изменения, выполненные в текущей транзакции. После ROLLBACK состояние базы возвращается к тому, каким оно было в начале транзакции.
Пример запроса:
BEGIN; -- начало транзакции
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
-- если всё прошло успешно
COMMIT;
-- или при ошибке отменить изменения
-- ROLLBACK;
Очень подробно проходим транзакции на продвинутом курсе, увидимся на занятиях! 🫶🏽
❤4👌2
Спасибо @istepanov2023 за интересные вопросы в ходе обучения!♥️
Сегодня вдохновил на пост про USING в PostgreSQL:
Зачем?
Пример:
Благодаря вашим вопросам этот тгк становится интереснее!🫶🏽
Обращайтесь чаще!
Сегодня вдохновил на пост про USING в PostgreSQL:
Зачем?
- Удобный синтаксис для JOIN, когда поля с одинаковыми именами в обеих таблицах. Это хорошая замена для join … on …
- Автоматически объединяет по перечисленным столбцам и в результате оставляет только одну колонку с этим именем.
Пример:
SELECT order_id, customer_id, name, amount
FROM orders
JOIN customers USING (customer_id);
Благодаря вашим вопросам этот тгк становится интереснее!🫶🏽
Обращайтесь чаще!
❤🔥6🥰3❤1
Какие бесплатные устойчивые приложения для видеосвязи с демонстрацией экрана используете?
Наш Google Meetsплачет рыдает в углу комнаты🤡
Наш Google Meets
Сегодня решаем конфликты👩⚖️👨⚖️
ON CONFLICT DO — конструкция в PostgreSQL для обработки конфликтов при вставке (INSERT).
Зачем?
Позволяет указать, что делать, если попытка вставки сталкивается с нарушением ограничения (например, по первичному ключу или уникальному индексу).
Как решаем конфликты?
- ON CONFLICT DO NOTHING — игнорировать конфликт (не вставлять строку).
- ON CONFLICT DO UPDATE — при конфликте выполнить обновление существующей строки.
Примеры:
Простое игнорирование конфликта
Игнорирование по конкретному уникальному ограничению
Upsert — обновление при конфликте по PK
ON CONFLICT DO — конструкция в PostgreSQL для обработки конфликтов при вставке (INSERT).
Зачем?
Позволяет указать, что делать, если попытка вставки сталкивается с нарушением ограничения (например, по первичному ключу или уникальному индексу).
Как решаем конфликты?
- ON CONFLICT DO NOTHING — игнорировать конфликт (не вставлять строку).
- ON CONFLICT DO UPDATE — при конфликте выполнить обновление существующей строки.
Примеры:
Простое игнорирование конфликта
INSERT INTO users(id, username, email)
VALUES (1, 'alice', '[email protected]')
ON CONFLICT DO NOTHING;
Игнорирование по конкретному уникальному ограничению
INSERT INTO users(id, username, email)
VALUES (2, 'bob', '[email protected]')
ON CONFLICT (username) DO NOTHING;
Upsert — обновление при конфликте по PK
INSERT INTO products(id, name, price)
VALUES (10, 'Widget', 9.99)
ON CONFLICT (id) DO UPDATE
SET name = EXCLUDED.name,
price = EXCLUDED.price;
🔥5👌1
Сегодня обсудим каскадное удаление записей в таблице
Что это?
Механизм в PostgreSQL, при котором при удалении записи из родительской таблицы автоматически удаляются все связанные записи из ссылающихся таблиц.
Зачем ?
- Упрощает управление связанными данными
- Предотвращает нарушение целостности данных
- Автоматизирует удаление зависимых записей
Пример:
Как понять, что произошло выше?
В запросе выше при удалении записи с id=1 в таблице
Что это?
Механизм в PostgreSQL, при котором при удалении записи из родительской таблицы автоматически удаляются все связанные записи из ссылающихся таблиц.
Зачем ?
- Упрощает управление связанными данными
- Предотвращает нарушение целостности данных
- Автоматизирует удаление зависимых записей
Пример:
CREATE TABLE parent (
id SERIAL PRIMARY KEY,
name TEXT
);
CREATE TABLE child (
id SERIAL PRIMARY KEY,
parent_id INT REFERENCES parent(id) ON DELETE CASCADE,
data TEXT
);
-- При удалении записи из parent автоматически удалятся все связанные child записи
DELETE FROM parent WHERE id = 1;
Как понять, что произошло выше?
В запросе выше при удалении записи с id=1 в таблице
parent автоматически удалятся все записи из child с parent_id = 1.❤🔥1❤1👌1
Вопрос с урока: У меня есть столбец с денежными суммами. Какой тип данных выбрать: money или numeric?
Обсудим money в PostgreSQL
Обсудим money в PostgreSQL
Основные характеристики
Тип money в PostgreSQL предназначен для хранения денежных значений с фиксированной точностью и форматированием. Это специализированный тип для удобной работы с финансовыми данными.
НО:
- Хранит денежные суммы с точностью до двух десятичных знаков (центы).
- Значения автоматически форматируются при выводе в виде строк с символом валюты и разделителями тысяч (например, $1,234.56 или 1 234,56 ₽ в зависимости от локали).
♥️ - если было полезно!)
- Важно учитывать, что тип money менее гибкий по сравнению с числовыми типами numeric или decimal, особенно при необходимости высокой точности и работы с другими валютами или крупными суммами.
- Для простых финансовых данных, требующих стандартного форматирования — тип money идеальный вариант!
- А еще важно за настройками локали, так как они могут влиять на парсинг и формат вывода.
❤4👌1
Я сегодня безумно счастливая, потому что новая версия сайта завершена🎉🤩
Миллион правок уже учтен, и я приглашаю вас стать первыми пользователями и тестировщиками 😂
Тык сюда: https://sqlclass.ru/
Миллион правок уже учтен, и я приглашаю вас стать первыми пользователями и тестировщиками 😂
Тык сюда: https://sqlclass.ru/
🔥6🎉6
Циклы в PostgreSQL - это что?
Зачем нужны циклы
Основные типы циклов в PostgreSQL с примерами
1. LOOP
Бесконечный цикл, который прерывается явно через
2. WHILE
Цикл с условием в начале, выполняется пока условие истинно.
3. FOR (numeric)
Цикл для числового диапазона.
Прерывается, когда диапазон заканчивается.
Хотите рассмотреть подробно каждый пример?
♥️ - жду продолжения
😎 - мне все давно понятно
В PostgreSQL циклы используются внутри процедур и функций, написанных на языке PL/pgSQL, чтобы повторять выполнение блока кода несколько раз.
Зачем нужны циклы
- Автоматизация повторяющихся операций
- Обработка и обход наборов данных построчно
- Выполнение сложной логики с многократными итерациями
Основные типы циклов в PostgreSQL с примерами
1. LOOP
Бесконечный цикл, который прерывается явно через
EXIT.
DO $$
DECLARE
counter INT := 1;
BEGIN
LOOP
RAISE NOTICE 'Итерация %', counter;
counter := counter + 1;
EXIT WHEN counter > 5;
END LOOP;
END $$;
2. WHILE
Цикл с условием в начале, выполняется пока условие истинно.
DO $$
DECLARE
counter INT := 1;
BEGIN
WHILE counter <= 5 LOOP
RAISE NOTICE 'Итерация %', counter;
counter := counter + 1;
END LOOP;
END $$;
3. FOR (numeric)
Цикл для числового диапазона.
Прерывается, когда диапазон заканчивается.
DO $$
BEGIN
FOR i IN 1..5 LOOP
RAISE NOTICE 'Итерация %', i;
END LOOP;
END $$;
Хотите рассмотреть подробно каждый пример?
♥️ - жду продолжения
😎 - мне все давно понятно
❤🔥3👍1😎1
Привет всем!
Я с отличными новостями!🎉
Для всех новичков в это воскресенье в 12:00
состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL!
Вы научитесь:
- Понимать структуру SQL-запросов и особенности PostgreSQL
- Создавать таблицы в базе данных (Create)
- Чтение и выборка данных (Read)
- Обновление/изменение существующих данных (Update)
- Удаление записей (Delete)
Почему стоит участвовать:
- Бесплатно без вложений вы получите ценные практические знания
- Пошаговое объяснение для новичков — даже если вы никогда не работали с базами данных
- Возможность задать вопросы прямо на уроке
- Отличный старт в изучении SQL
👉 Для регистрации напишите мне: @sql_class
Я с отличными новостями!🎉
Для всех новичков в это воскресенье в 12:00
состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL!
Вы научитесь:
- Понимать структуру SQL-запросов и особенности PostgreSQL
- Создавать таблицы в базе данных (Create)
- Чтение и выборка данных (Read)
- Обновление/изменение существующих данных (Update)
- Удаление записей (Delete)
Почему стоит участвовать:
- Бесплатно без вложений вы получите ценные практические знания
- Пошаговое объяснение для новичков — даже если вы никогда не работали с базами данных
- Возможность задать вопросы прямо на уроке
- Отличный старт в изучении SQL
👉 Для регистрации напишите мне: @sql_class
🔥7👏1😍1
🌐Ты кто такая, ER-диаграмма?
❓Что такое ERD?
ER-диаграмма (Entity-Relationship Diagram) — это графическое представление таблиц в базе данных и их взаимосвязей.
📝Зачем нужны ERD?
Понимание взаимосвязей между таблицами может быть сложным, но ERD помогает визуализировать их.
👩💻Когда используются ERD?
• При проектировании БД ERD позволяет понять ее структуру всем участникам проекта.
• В процессе эксплуатации ERD используется как удобный инструмент для документирования структуры БД.
Как выглядит ERD? 👀👆🏼
❓Что такое ERD?
ER-диаграмма (Entity-Relationship Diagram) — это графическое представление таблиц в базе данных и их взаимосвязей.
📝Зачем нужны ERD?
Понимание взаимосвязей между таблицами может быть сложным, но ERD помогает визуализировать их.
👩💻Когда используются ERD?
• При проектировании БД ERD позволяет понять ее структуру всем участникам проекта.
• В процессе эксплуатации ERD используется как удобный инструмент для документирования структуры БД.
Как выглядит ERD? 👀👆🏼
🔥4👏1👌1
SQL В КАРМАНЕ
Привет всем! Я с отличными новостями!🎉 Для всех новичков в это воскресенье в 12:00 состоится бесплатный урок, который познакомит вас с основами работы с PostgreSQL! Вы научитесь: - Понимать структуру SQL-запросов и особенности PostgreSQL - Создавать таблицы…
‼Сегодня дедлайн для записи на бесплатный урок!
Если все еще хотите присоединиться, дайте знать☺
Для всех, кто уже зарегистировался и хочет на уроке практиковаться в написании запросов вместе с нами, просьба скачать приложение (бесплатная версия бело-синего цвета): https://dbeaver.io/download/
⏱ За 30 минут до занятия каждому пришлю ссылку для подключения в личные сообщения. Если будут проблемы, пишите мне: @sql_class
🎓Присоединяйтесь, пожалуйста, по ссылке в 12:00 по Москве.
До встречи в Толке!
Если все еще хотите присоединиться, дайте знать☺
Для всех, кто уже зарегистировался и хочет на уроке практиковаться в написании запросов вместе с нами, просьба скачать приложение (бесплатная версия бело-синего цвета): https://dbeaver.io/download/
⏱ За 30 минут до занятия каждому пришлю ссылку для подключения в личные сообщения. Если будут проблемы, пишите мне: @sql_class
🎓Присоединяйтесь, пожалуйста, по ссылке в 12:00 по Москве.
До встречи в Толке!
🔥5❤2
🔒 ОГРАНИЧЕНИЯ🔒
При работе с данными функция CONSTRAINT (ограничение) просто незаменима! Она контролирует набор возможных значений для столбца или всей таблицы.
🔧СУБД внимательно следит за изменениями данных: если они не соответствуют установленным ограничениям, данные не будут изменены, и вы получите сообщение об ошибке.
NOT NULL — запрещает отсутствующие значения.
DEFAULT — устанавливает значение по умолчанию.
UNIQUE — запрещает повторение значений в колонке.
CHECK — проверяет определенные условия.
👉 Пример запроса:
При работе с данными функция CONSTRAINT (ограничение) просто незаменима! Она контролирует набор возможных значений для столбца или всей таблицы.
🔧СУБД внимательно следит за изменениями данных: если они не соответствуют установленным ограничениям, данные не будут изменены, и вы получите сообщение об ошибке.
NOT NULL — запрещает отсутствующие значения.
DEFAULT — устанавливает значение по умолчанию.
UNIQUE — запрещает повторение значений в колонке.
CHECK — проверяет определенные условия.
👉 Пример запроса:
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(100) NOT NULL,
Email VARCHAR(100) UNIQUE,
Age INT CHECK (Age > 18),
Position VARCHAR(50) DEFAULT 'Employee'
);
🔥3👍1👌1
Уже в субботу начинаем наш Базовый курс консультаций «SQL с нуля» с новой группой 👨🏫👩🏫
Следующий ещё не скоро. Так что если ещё хотите присоединиться, дайте знать: @sql_class
Отличного дня🫂
Следующий ещё не скоро. Так что если ещё хотите присоединиться, дайте знать: @sql_class
Отличного дня🫂
❤🔥5🔥1👏1