Уроки по SQL | Создание таблиц, добавление и выборка данных | Связь многие ко многим

Поделиться
HTML-код
  • Опубликовано: 5 янв 2025
  • Посмотрев курс уроков по SQL, вы научитесь устанавливать субд MySQL и PostgreSQL локально и на VPS сервер, создавать базы данных, таблицы, устанавливать между ними связи, научитесь делать простые и сложные запросы, джоины и много чего интересного.
    В данном видео создадим несколько таблиц, заполним их данными, рассмотрим и организуем связь многие ко многим и напишем базовые запросы для извлечения данных.
    💰 Поддержать проект:
    / pythontoday
    yoomoney.ru/to...
    🔥 Стать спонсором канала:
    / @pythontoday
    ****Ссылки****
    Установка PostgreSQL и pgAdmin4 на Linux Ubuntu
    • Установка PostgreSQL и...
    Команды для установки pgAdmin:
    www.pgadmin.or...
    Дешевый/надежный сервер в Европе:
    zomro.com/?from...
    promo_code:
    zomro_246874
    Хороший proxy сервис:
    proxy6.net/a/1...
    #1 Парсинг сайта + Telegram бот на aiogram | Requests, beautifulsoup, aiogram
    • #1 Парсинг сайта + Tel...
    Обучение парсингу на Python #7 | Выполняем заказ на фрилансе
    • Обучение парсингу на P...
    Плейлист по распознаванию лиц на Python:
    • Распознавание лиц | Fa...
    Плейлист по парсингу сайтов на Python:
    • Парсинг/Scraping
    Крутой заказ на фрилансе | Подбираем забытый пароль к Excel файлу с помощью Python
    • Крутой заказ на фрилан...
    Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
    • Пишем Telegram бота на...
    ****Соц.сети****
    Telegram: t.me/python2day

Комментарии • 83

  • @vigauss1889
    @vigauss1889 3 года назад +14

    Спасибо за труды! Ждем продолжения

    • @PythonToday
      @PythonToday  3 года назад +2

      Благодарю за фидбэк!

  • @ArtyrVanetsian
    @ArtyrVanetsian 10 месяцев назад +1

    Спасибо за простое и понятное объяснение

  • @МихаилСмирнов-в3м7м
    @МихаилСмирнов-в3м7м 2 года назад +2

    Хочу выразить огромную благодарность автору! Единственный человек который может рассказать просто о сложном, без лишней воды) Жду продолжения плейлиста

    • @PythonToday
      @PythonToday  2 года назад

      Благодарю за фидбэк и поддержку!

  • @valarg5756
    @valarg5756 3 года назад +2

    Жду следующего урока, смотрю с удовольствием

    • @PythonToday
      @PythonToday  3 года назад

      Благодарю за фидбэк

  • @CaDr89wot
    @CaDr89wot 3 года назад +1

    Спасибо за труд. С точки зрения теории - это не связь многие-ко-многим, а как раз таки объяснения как избежать данной связи, приведя её к виду один-ко-многим через промежуточную таблицу.

    • @PythonToday
      @PythonToday  3 года назад +1

      Благодарю за фидбэк!

    • @CaDr89wot
      @CaDr89wot 3 года назад

      @@PythonToday есть предложение. Вы упомянули, что плейлист не пользуется популярностью. Может стоит рассмотреть плейлист с созданием комплексного приложения? То есть сначала Вы рассказываете вводную о БД и о проектировании базы, затем можно выбрать фреймворк (джанго, фласк) и обернуть эту базу в приложение - чтобы было наглядно понятно как сделать веб часть с обработкой событий добавления, изменения и удаления записей.
      Просто я сам начал изучать python чтобы реализовать систему учета (которая сейчас ведётся в колхозном excel с нарушением вообще всех принципов целостности, избыточности и так далее). Это было бы очень интересно и понятно было бы что далее изучать и как глубже погружаться. Спасибо

  • @РоманГалкин-г8у
    @РоманГалкин-г8у Год назад

    Очень большое спасибо за этот курс! Очень помогает! Спасибо!

    • @PythonToday
      @PythonToday  Год назад

      Большое спасибо за поддержку!

  • @АркадийНалимов-р1э
    @АркадийНалимов-р1э 6 месяцев назад

    Спасибо добрый человек

  • @php-b30
    @php-b30 3 года назад +1

    Хорошо объяснил! Благодарю 👍🏻

    • @PythonToday
      @PythonToday  3 года назад

      Спасибо за фидбэк и поддержку!

  • @domochevsky4703
    @domochevsky4703 3 года назад

    Как всегда - спасибо за видос. Успехов и развития!

    • @PythonToday
      @PythonToday  3 года назад

      Благодарю! Взаимно

  • @RomanChurov
    @RomanChurov 2 года назад

    Максимально понятно и качественно! Как всегда лучшее объяснение материала, жду продолжение про join)

    • @PythonToday
      @PythonToday  2 года назад

      Большое спасибо за фидбэк!

  • @МаратАғай
    @МаратАғай Год назад

    Все очень четко и ясно! Спасибо за труд)

    • @PythonToday
      @PythonToday  Год назад

      Спасибо за фидбэк!

  • @Net-olekma
    @Net-olekma 2 года назад

    Смотрится плэйлист на ура ничего не плохо

  • @deus7204
    @deus7204 3 года назад

    Благодарю за полезный контент 👍

    • @PythonToday
      @PythonToday  3 года назад

      Спасибо за фидбэк!

  • @shortvideos9955
    @shortvideos9955 Год назад

    Все четко, будет время и желание, запиши продолжение SQL

  • @hanmahanma5067
    @hanmahanma5067 Год назад

    Чел ты крут спасибо за видео!

  • @mik_404
    @mik_404 3 года назад

    Очень жду продолжения)))

    • @PythonToday
      @PythonToday  3 года назад

      Благодарю за фидбэк!

  • @ProEvv
    @ProEvv 10 месяцев назад

    Плейлист 🔥

  • @ZifeRRoT
    @ZifeRRoT 3 года назад

    Очень полезно и понятно, надеюсь продолжение следует...

    • @PythonToday
      @PythonToday  3 года назад

      Спасибо за фидбэк! Рад что видео полезно и помогают. Продолжение обязательно будет 👍

  • @olegpivkin4073
    @olegpivkin4073 3 года назад +1

    Годнота, однако!

  • @Кучерявий-щ4н
    @Кучерявий-щ4н 3 года назад +1

    Последний запрос прям взорвал чердак :)
    Спасибо!!! Отличные уроки. Сам учу python и пишу мелкие приложения, так сказать для себя, и столкнулся с тем что нужно вести историю записей в приложениях (ещё парсер нужно написать из excel), а для этого нужно БД изучать. Хотел начать MySQL учить, увидел на твоём канале записи, а ты взял и на postgresql перешёл. Теперь его изучаю вместо mysql. Но думаю они похожи, потому не против, тем более здесь такая классная штука как pgAdmin.
    Большое спасибо за уроки и главное не останавливайся, а то мне мало этой инфы :) Специально жду твои уроки, идеально преподносишь материал, шикарно объясняешь и отличные примеры.

    • @PythonToday
      @PythonToday  3 года назад +1

      Спасибо за фидбэк! Рад что полезно) У разных СУБД SQL синтаксис на 99% схожий. Так что освоив одну, без труда перейдешь на другую по необходимости.

  • @kir_osv_1443
    @kir_osv_1443 3 года назад

    Нужно продолжение !

  • @Zer-st6qv
    @Zer-st6qv 3 года назад

    Топ, спасибо за обучение!

  • @АлексейСамаркин-ы2н

    Спасибо. Продолжай!

    • @PythonToday
      @PythonToday  3 года назад

      Благодарю за фидбэк!

  • @umni_kot
    @umni_kot Год назад

    подскажите, а что значит posts_tags_pk в третьей таблице? при выборке не увидел этого столбца

  • @amadeus1300
    @amadeus1300 3 года назад

    Спасибо ! Познавательно )

    • @PythonToday
      @PythonToday  3 года назад

      Благодарю за фидбэк

  • @alinadubrovina9320
    @alinadubrovina9320 2 года назад

    спасибо) классный курс))

    • @PythonToday
      @PythonToday  2 года назад +1

      Спасибо за поддержку!

  • @vide6996
    @vide6996 2 года назад

    год прошёл, а проды нет( видосы - огонь. эту подборку надо всем 1с-никам начинающим смотреть, чтоб запросов не пугались)

  • @g.s1849
    @g.s1849 Год назад

    То есть Left join проверяет соответствуют ли стрoки требованию и в отличии от INNER JOIN, не удаляет не соответствующие, а возвращает строки, где значение будут возвращены в виде NULL и уже если мы прописали, что наши значения обязательно должны быть NOT NULL, они не будет добавлены?

  • @АлександрХворов-с2к

    Получется, что команда "CONSTRAINT posts_tags_pk PRIMARY KEY" это ограничение создающее композиционный ключ? Я просто что-то не совсем понял. К примеру я понимаю когда прописывают команду, чтобы если данные удаляются из родительской таблицы, то они автоматом удалялись и из дочерней или наоборот. Тут же просто пишем ограничение на первичный ключ...а ограничивает оно что?

  • @СтасДзасохов
    @СтасДзасохов 3 года назад

    В промежуточной таблице не нужно поле id auto_increment primary key ?

  • @АлександрВыскребцев
    @АлександрВыскребцев 3 года назад +1

    Спасибо, столкнулся с такой проблемой : Не получилось с первого раза нормально записать данные в таблицу, некоторые данные в неё уже внеслись, соответственно дальше даже когда удалены значения в таблице, автозаполнение "id" будет постоянно добавлять новые номера в таблицу.
    Решение : "TRUNCATE TABLE table RESTART IDENTITY;" обнуляет счетчик (и удаляет все данные).

  • @ДавидАрахелян
    @ДавидАрахелян Год назад

    Получается, если мне нужно получить все тэги одного поста, компу придётся перебирать все значения в таблице связей? Это же огромная нагрузка. А если у меня записей тысячи? Есть какое-то альтернативное решение для таблиц?

  • @L0wPressure
    @L0wPressure 3 года назад

    Блин, спасибо огромное. Первые две минуты - ответ на мой недавний вопрос самому себе. Я не знал как сформулировать вопрос гуглу, пробовал запихнуть ключи в одну ячейку через запятую (по совету со stackoverflow), но это дикий колхоз...
    Причём с join проблем не возникло.

    • @PythonToday
      @PythonToday  3 года назад +1

      Рад что полезно. Благодарю за фидбэк

    • @L0wPressure
      @L0wPressure 3 года назад

      @@PythonToday сори, я тут вернулся к тому проекту, но через объединение через LEFT JOIN запрос в конце у меня не сработал, ругался на Ambiguous Name Column. Вроде совпадающих имен не было, пытался все на алиасы заменить...
      Зато сработал запрос вида SELECT posts.id, tags.tag_name FROM posts, tags. Это норм вариант, в этом есть минусы?

  • @alexandrscv6822
    @alexandrscv6822 Год назад

    продолжай

  • @SV-cs3hd
    @SV-cs3hd 3 года назад

    Спасибо!!! Может будет продолжение ?

    • @PythonToday
      @PythonToday  3 года назад +1

      Благодарю за фидбэк. Обязательно будет

  • @1CekpeTCekpeT1
    @1CekpeTCekpeT1 3 года назад

    Доброго дня! Интересно было бы узнать, как можно заносить вводимые данные в базу My SQL и отправлять их на печать в уже заготовленный шаблон ворд? Например поля ФИО, дата рождения и другое в места в ворд документе, где данная информация должна быть указана.

  • @БетаПЛЕЙ-г4н
    @БетаПЛЕЙ-г4н 3 года назад

    требуем продолжения обучен5

  • @АлексейБыков-и6ю
    @АлексейБыков-и6ю 3 года назад +1

    Супер, спасибо! Наконец разобрался в том, что такое отношение "многие ко многим"
    Только такой вопрос: зачем?
    Почему нельзя в таблице posts создать колонку tags и там списком указать нужные теги а после уже искать по принципу "содержит"?

    • @PythonToday
      @PythonToday  3 года назад +1

      Благодарю. "создать колонку tags и там списком указать нужные теги" в смысле, текстом что ли? Странный вопрос на самом деле. Тогда можно вообще одно поле создать info и в него поместить всё, что можно через какие то разделители $()@*&@_ да искать потом)

    • @maxsemirin
      @maxsemirin Год назад

      Комментатор имеет ввиду есть тип данных в Postgres со списком, например int[]. И туда можно записать к примеру, какие есть тэги в посте. Это позволяет не строить 3 таблицу. По скорости думаю проигрыша не будет. Интересно Ваше мнение😊

  • @maestro0422
    @maestro0422 11 месяцев назад

    constraint для чего нужно? какое это ограничение?

    • @BJJRustam77
      @BJJRustam77 5 месяцев назад

      Это дать название ограничению

  • @МаксимМалофеев-п3ы
    @МаксимМалофеев-п3ы 3 года назад

    Отличный курс, жаль это предпоследний урок((

  • @nikitabbrv5947
    @nikitabbrv5947 3 года назад

    движемся к записи данных с парсинга в БД и затем чтение ботом?)

    • @PythonToday
      @PythonToday  3 года назад

      Да может и придем к этому)

  • @sheikh8212
    @sheikh8212 3 года назад

    Клевый урок, почему нет продолжения???(

  • @nikitabbrv5947
    @nikitabbrv5947 3 года назад

    можно пореже видео выпускать (шутка), не успеваю смотреть!))

  • @GreeDer79
    @GreeDer79 11 месяцев назад

    жду про join

  • @dealhubpro
    @dealhubpro Год назад

    За 9 минут объяснить как работать на практике с many to many и left join это профессионализм.

  • @user-te1dz
    @user-te1dz 3 года назад +2

    Я так понял что покерный калькулятор не будет? А жаль хорошая идея, там много чему можно научиться. В Ютюбе нету ни одного ролика такова.

    • @PythonToday
      @PythonToday  3 года назад

      Не совсем понял, калькулятор который обманывает систему? Снять ролик и учить людей обману?

    • @user-te1dz
      @user-te1dz 3 года назад

      @@PythonToday системы невозможно обмануть, а покерный калькулятор помогает игроку .

    • @alexanderm2555
      @alexanderm2555 3 года назад +1

      +1. Покерный калькулятор это топовая тема для видео!

    • @HIDDENDANGEROUS_USSR
      @HIDDENDANGEROUS_USSR Год назад

      @@PythonToday Покерный калькулятор рассчитывает шансы банка и шансы на выйгрыш в текущей раздаче. Уже есть куча таких программ, но они платные.

  • @НейтральныйМаппер-з2м

    Где же продолжение?)

    • @PythonToday
      @PythonToday  3 года назад

      Не успеваю все сразу делать :( Буду стараться.

  • @МаксимВласкин
    @МаксимВласкин 3 года назад

    +

  • @AdmiralYamomoto
    @AdmiralYamomoto Год назад

    Спасибо за труды! Ждем продолжения