14 - Уникальные Идентификаторы UUID - Уроки PostgreSQL

Поделиться
HTML-код
  • Опубликовано: 21 сен 2024
  • Войти в IT: Вся Необходимая База. 3 Уровня Объяснения Материала
    stepik.org/a/1... Если не можешь напрямую покупать со Stepik, заказывай отсюда:
    avecoders.gith... Введение в Искусственный Интеллект с Python для Начинающих: stepik.org/a/1... Введение в Искусственный Интеллект с Python для Начинающих: stepik.org/a/1... Курс: "Поколение Трансформеров": Нейросети для Естественного Языка (NLP)
    Вне Свифта (Россия, Беларусь): stepik.org/a/1...
    Свифт (Все остальные): avecademy.teac...
    Практический Курс по Python:
    Stepik: stepik.org/a/1...
    Udemy: www.udemy.com/...
    Аве, Кодер!
    В этом заключительном видео курса основ PostgreSQL, мы на практике разберем как использовать функции в наших SQL запросах. В частности, мы сгенерируем рандомный уникальный айдишник (UUID) для нашей таблицы.
    Про UUID: ru.wikipedia.o...)
    Предыдущее видео:
    13 - Экспортируем SQL таблицу в CSV - Уроки PostgreSQL
    • 13 - Экспортируем SQL ...
    Плейлист целиком:
    • Уроки PostgreSQL для н...
    #авекодер #урокиpostgresql #postgresql #sql #субд
    Поддержи проект:
    www.donational...
    paypal.me/avecoder
    / avecoder
    BTС: 1BmLvUFiJaVpCAwhzW3ZwKzMGWoQRfxsn4
    ETH: 0x6f1A488c9b12E782AEF74634a40A79b1631237aB
    История Технологий:
    / АвеТех
    VK: avecoder
    Телега: t.me/avecoder_ru
    ______________________
    Аве Кодер! Меня зовут V и я кодер. На моем канале ты сможешь найти актуальные туториалы по интересным технологиям, базу по computer science, брейнхаки, лайфхаки, материалы по здоровью кодера, отчеты о визитах в интересные локации, английский для кодера, как кодеру не помереть с голоду, юмор и многое другое.
    Так что ставь императорский палец вверх, подписывайся и бей в колокол!

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

  • @avecoder
    @avecoder  Год назад +1

    Практический Курс по Python:
    Stepik: stepik.org/a/126242
    Udemy: www.udemy.com/course/avecoder-advanced-python/?referralCode=270C5D0661A966B53743

  • @shmidt_rc2338
    @shmidt_rc2338 4 года назад +66

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

    • @avecoder
      @avecoder  4 года назад +3

      Благодарю.

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

      Аналогично, все изучил и проработал часа за 4, а завтра лабы по базам данных)) Автору огромное спасибо!

  • @Blamingplayer
    @Blamingplayer 3 года назад +19

    Просмотрел весь плейлист как очень классный сериал, много взял для себя, спасибо)
    Очень классно объяснил, спасибо большое) 👍
    Всем друзьям советую кто учит со мной

  • @miki_95
    @miki_95 3 месяца назад +1

    Спасибо большое коротко ясно!

  • @yarik83men51
    @yarik83men51 3 года назад +40

    Все команды с уроков:
    \l Все базы данных
    CREATE DATABASE namebase;
    \c Подключится к базе данных
    CREATE TABLE tablename (
    id BIGSERIAL NOT NULL PRIMARY KEY,
    field1 VARCHAR(30) NOT NULL,
    field2 VARCHAR(50) NOT NULL,
    field3 DATE NOT NULL
    );
    \d посмотреть таблицы
    DROP DATABASE basename Удалить базу данных
    DROP TABLE tablename Удалить таблицу
    INSERT INTO nametable (field1, field2, field3) VALUES('val1', 'val2', 'val3');
    -----------------------------------Выборка SELECT-------------------------------
    SELECT * FROM tablename;
    SELECT field1, field2 FROM tablename;
    SELECT field1, field2 FROM tablename ORDER BY filed3; сортировка по field3
    INSERT INTO tablename(f1, f2, f3) VALUES(v1, v2, v3) вставка даных
    SELECT field1, field2 FROM tablename ORDER BY filed3 DESC; СОРТИРОВКА НАОБОРОТ
    SELECT DISTINCT f1 FROM table ORDER BY f2; Сортировка без повторений
    SELECT * FROM table WHERE f1=;
    SELECT * FROM table WHERE f1= AND f2=;
    SELECT * FROM table LIMIT 10; Лиммит 10 элементов
    SELECT * FROM table OFFSET 10 LIMIT 5; После 10 5 позиций
    SELECT * FROM table OFFSET 10 FETCH FIRST 5 ROW ONLY; После 10 первых 5 позиций
    SELECT * FROM table WHERE f1 IN(data1, data5); Выбор с диапазона
    SELECT * FROM table WHERE f1 BETWEEN data1 AND data2;
    SELECT * FROM table WHERE f1 LIKE '%условие'; Выбор по условию
    SELECT * FROM table WHERE f1 iLIKE '%условие'; Нечуствительный к регистру
    SELECT f1, COUNT(*) FROM table GROUP BY f1; Подсчет
    SELECT f1, COUNT(*) FROM table GROUP BY f1 HAVING COUNT(*) > 10 ORDER BY f2 DESC; выбрать те поля f1 и посчитать количество где их количество > 10,
    отсортировать по полю f2 в обратном порядке, ВАЖНО выводим f1 игруппируем f1;
    SELECT field1 AS f1, filed2 AS f2 FROM table; Алиасы через AS
    SELECT COALESCE(f1, 'no field') FROM table; Выбор не пустых полей
    ------------------------------------Функции аггрегаторы--------------------------------------------
    SELECT MAX(f1) FROM table; Максимальное значение
    SELECT MIN(f1) FROM table; Минимальное значение
    SELECT AVG(f1) FROM table; Среднее значение
    SELECT ROUND(AVG(f1)) FROM table; Округение
    SELECT f1, f2, MAX(f3) FROM table GROUP BY f1, f2; Максимальное по полю f3 при группировке полей f1, f2, выборка и группировка по одинаковым полям;
    SELECT SUM(f1) FROM table; Сумма
    SELECT f2 SUM(f1) FROM table GROUP BY f2; Сумма по полю f2 при группировке поля f1
    -----------------------------------------Дата и время-------------------------------------------------
    SELECT NOW(); Время
    SELECT NOW()::DATE; Дата
    SELECT NOW() - INERVAL '1 YEAR'; Назад на 1 год
    SELECT NOW() - INERVAL '10 MOUNTHs'; Назад на 10 месяцев
    SELECT NOW() + INERVAL '11 DAYS'; Вперед н 10 дней
    SELECT EXTRACT(YEAR FROM NOW()); Только год
    SELECT EXTRACT(DAY FROM NOW()); Только день
    SELECT EXTRACT(DOW FROM NOW()); День недели
    SELECT f1, f2, f3, AGE(NOW(), f1) FROM table; Время от даты f1;
    -------------------------------PRIMARY KEY----------------------------------------
    ALTER TABLE holiday DROP CONSTRAINT holiday_pkey; изменить PRIMARY KEY
    ALTER TABLE holiday ADD PRIMARY KEY(id); Добавить PRIMARY KEY
    ----------------------------------Ограничения-------------------------------------
    SELECT email, COUNT(*) FROM mytable GROUP BY email; # Подсчет по email
    SELECT email, COUNT(*) FROM mytable GROUP BY email HAVING COUNT(*) > 1; Подсчет по email по количеству > 1
    ALTER TABLE mytable ADD CONSTRAINT unique_email UNIQUE (email); Cделать уникальным поле email
    SELECT DISTINCT gender FROM mytable; Выбор без повторений
    ---------------------------------Удаление------------------------------------------
    DELETE FROM mytable; удалит все записи
    DELETE FROM mytable WHERE id=100;
    DELETE FROM mytable WHERE email LIKE '%google%' AND country_of_birth = 'China';
    ------------------------------- Обновление------------------------------------------
    UPDATE mytable SET first_name='Tomas'; обновить все поля first_name='Tomas'
    UPDATE mytable SET first_name='Tomas' WHERE id=1;
    --------------------------------ForeignKey--------------------------------------------
    ALTER TABLE mytable ADD bicycle_id BIGINT REFERENCES bicycle (id); Добавляем внешний ключ
    ALTER TABLE mytable ADD UNIQUE(bicycle_id); Уникальное поле
    -------------------------------JOIN, UNION-----------------------------------------------
    SELECT * FROM mytable JOIN bicycle ON mytable.bicycle_id = bicycle.id; Inner join
    SELECT mytable.first_name, bicycle.make, bicycle.type, bicycle.price FROM mytable JOIN bicycle ON mytable.bicycle_id=bicycle.id; Inner Join
    SELECT * FROM mytable LEFT JOIN bicycle ON bicycle_id = bicycle.id; Все слева и совпадение с права
    SELECT * FROM mytable LEFT JOIN bicycle ON bicycle_id = bicycle.id WHERE bicycle_id IS NOT NULL;
    SELECT * FROM mytable
    mybase-# RIGHT JOIN bicycle ON mytable.bicycle_id = bicycle.id; ВСЕ СПРАВА И СОВПАДЕНИЕ С ЛЕВА
    SELECT * FROM mytable
    mybase-# FULL OUTER JOIN bicycle ON mytable.bicycle_id = bicycle.id; ПОЛНОЕ СЛИЯНИЕ
    --------------------------- CSV---------------------------------------------------------
    \copy (SELECT * FROM mytable LEFT JOIN bicycle ON mytable.bicycle_id = bicycle.id WHERE bicycle_id IS NOT NULL) TO 'D:/CSV' DELIMITER ',' CSV HEADER;

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

      !

    • @miki_95
      @miki_95 3 месяца назад

      увидел когда все записал))

  • @СергейШаров-щ8ы
    @СергейШаров-щ8ы 4 года назад +15

    Спасибо за курс. Интересно и довольно легко воспринимается.
    Удачи с развитием проекта)

    • @avecoder
      @avecoder  4 года назад

      Благодарю. Дальше - больше!

  • @Billion.dollar.person
    @Billion.dollar.person 7 месяцев назад +1

    Спасибо вам большое за курс, всех благ, процветания в жизни, счастья.

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

    Спасибо большое!!!!!!!! Очень классный курс!

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

    До нових зустрічей, дуже дякую.

  • @milash8861
    @milash8861 3 дня назад

    Спасибо, очень интересно!

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

    *Спасибо огромное за все видеоуроки по psql, удачи в развитие канала, рекомендовал всем друзьям!*

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

      спасибо, канал не подкачает

  • @TigerUnderMoon
    @TigerUnderMoon 2 года назад +2

    Спасибо большое за качественный плейлист, вы хорошо обьясняете даходчиво, без лишней воды и что самое главное черезмерной сухости
    хоть материал и не сложный, но все же

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

      благодарю

  • @ВладимирЛуньков-ь1г

    Спасибо за прекрасный бесплатный курс и отличный юмор!

  • @ВладимирДементьев-т5б
    @ВладимирДементьев-т5б 11 месяцев назад +1

    Спасибо огромное за твои старания!!!

  • @СлавикК-ж1в
    @СлавикК-ж1в 3 года назад +2

    Спасибо! Очень приятное изложение материала и классные примеры.

  • @faridzeynalov-v9l
    @faridzeynalov-v9l 6 месяцев назад +1

    супер

  • @БуйныйПрогрессор
    @БуйныйПрогрессор 3 года назад +1

    Отличнейший курс, очень помогло! Большое спасибо!

  • @РавильШаймердянов
    @РавильШаймердянов 3 года назад +1

    Спасибо за курс)
    Ждем новых интересных курсов)

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

      Спасибо. Посмотри на нашем канале и ты найдешь еще много интересного

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

    Посмотрел на одном дыхание весь плейлист, огромное спасибо ! Очень помогли ваши уроки!

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

      Спасибо. Тогда я думаю и переводы Гарварда должны зайти, 4/7 лекций уже готовы.

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

      @@avecoder прямо сейчас, смотрю Пайтон Интенсив ваш, уж очень мне нравиться, то как вы обьясняете материал, ну и как рас готовлюсь к собес. :) спасибо

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

      Удачи на собеседовании!

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

      @@avecoder , Much obliged :)

  • @mirnijalexey2765
    @mirnijalexey2765 3 года назад +4

    Спасибо, очень хорошие видео и тонкое чувство юмора)

    • @avecoder
      @avecoder  3 года назад +3

      Спасибо. Это ты еще курс по Java не проходил. Вот где все шутки :)

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

      @@avecoder я уже прошел Java)) щас на этапе подключения к базе PostreSQL по средствам Hibernate, но что от пока не подключается(

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

      Все обязательно получится!

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

    Благодарю за курс!
    Всё хорошо и понятно.
    Удачи в остальных начинаниях! :)

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

      Спасибо, заходи еще!

  • @ЮрийОбухов-д1и
    @ЮрийОбухов-д1и 9 месяцев назад

    Отличная подача теории, если лень изучать документацию

  • @Назар921-ф5я
    @Назар921-ф5я 3 года назад +1

    Здраствуйте! Спасибо за курс, и хорошее чуство юмора) Для старта то что надо, но было бы круто, если было бы видео о каскадном удалении, либо же какой-то альтернативе. Автору видео удачи!)

  • @onlymint2114
    @onlymint2114 Год назад +1

    Спасибо, бро. Очень полезный материал был для меня 👍

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

    Побольше б такого годного контента) Спасибо за труд!🙏

  • @СемёнСемёныч-е4д
    @СемёнСемёныч-е4д 3 года назад +1

    Очень понятно объяснено, спасибо.

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

    спасибо, помогло разобраться!! хотелось бы теперь не для начинающих))

  • @sylarin1
    @sylarin1 4 года назад

    Спасибо за курс автору. Доступное и понятное изложение тем. Всем советую.

    • @avecoder
      @avecoder  4 года назад

      Спасибо. Какие еще курсы заинтересовали бы?

    • @sylarin1
      @sylarin1 4 года назад

      @@avecoder Зависит от целей Вашего канала. Если вы нацелены на количество подписчиков, то конъюктура, если для себя (хобби, отдушина), то лишь ваши предпочтения.
      Если Вы лично про мои предпочтения спрашивали, то я в это области (IT) относительно новенький, интересует DS и около того.
      P. S. С удовольствием бы посмотрел, как уже тут писали, продвинутый курс по postgres.

    • @avecoder
      @avecoder  4 года назад

      Благодарю за фидбек. Контент план очень объемный и бесперебойный. Advanced PostgreSQL и вообще - Архитектура баз данных в нем есть. Так что терпение и все появится ))

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

    огромное СПАСИБО

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

    все очень доступно, спасибо

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

    Спасибо! Хороший курс.

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

    Круто, спасибо за курс.

  • @david_coder
    @david_coder 4 года назад

    Спасибо за курс, всем видео лайк и подписка 🔔.
    Продалжай в том же темпе и юморе.

    • @avecoder
      @avecoder  4 года назад

      Благодарю. Не пропускай выход CS50 введение в ИИ с Python ;) сейчас в переводе

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

    Спасибо за краткое введение. Всё понятно и интересно, единственное, что pgAdmin не затрагивался, хотел бы ещё про него послушать.

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

      Спасибо за отзыв. Да, постараюсь о нем тоже снять ( занес в свой TODO список)

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

      @@avecoder подскажите пожалуйста заодно, если вы практикующий программист. Я начинаю изучать стандартный стек вокруг джавы, и в рамках рабочего процесса с psql работают из командной строки или через pgadmin. Нужно ли gui для psql изучать?

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

      Разобраться как работает gui можно довольно быстро. Не думаю, что в поле ты будешь работать на голой командной строке. Скорее всего это будет некое приложение, к которому будет прикручена база, но знать как выглядят запросы и что при этом получается - нужно обязательно. Для этого курс и построен как раз на голых запросах, чтобы покрыть самые основы.

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

    Спасибо вам большое, по вашим урокам научился работать с PostgreSQL но не могли бы вы сделать видео по работе с JSON в PostgreSQL на Ютубе нет ни одного нормального видео урока.

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

    Красавчик, спасибо!

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

    Спасибо, за курс, я всё законспектировал . Подали в очень легком виде.
    Только, можно вопрос: в каких моментах (JavaScript ) понадобиться эти знаниях: в каких местах, случаях, фрейворков и так далее?
    Скажем во фронтенде? Понимаю это бэкенд, но ...

  • @samrybkin9184
    @samrybkin9184 Год назад +1

    Привет большое спасибо тебе за курс, основы даны очень простым и интересным методом, тебе этот курс на udemy бы закинуть довольно очень неплохой получился!!! Правда в начале заставка стремная немножко, но само содержание интересное я бы его бы купил баксов за 10 на Udemy на скидках:) Спасибо еще раз!!!

    • @privet2pizza
      @privet2pizza 8 месяцев назад +1

      Не знаю, мне норм заставка. Единственное, ночью смотреть страшно ибо шуметь не люблю, а музыка прям орёт на самом деле..

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

    Здравствуйте! Прошел весь ваш курс и все залайкал. Благодарю за краткую и простую подачу материала.
    Но хотелось бы развиваться дальше. Не подскажите в каком направлении двигаться, чтобы потом устроиться на работу программистом SQL?
    Может какие платные курсы пройти, купить какие-нибудь книги?...

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

      Будут продвинутые курсы по SQL, а также взаимодействию с базами данных. Следи за обновлениями на канале, либо подписывайся на телеграм там мы обсуждаем много чего и в том числе планы по каналу там узнают быстрее.

  • @atlant1707
    @atlant1707 4 года назад

    Отличный курс

    • @avecoder
      @avecoder  4 года назад

      Благодарю. Какие темы хотел бы увидеть на канале?

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

    Закончил! Списал 7 страниц в тетради 😊
    Жаль только сертификата об окончании нету 😜

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

      Поздравляю, теперь у тебя есть твердый джун уровень в SQL. Можешь смело подтягивать бэкэнд и прописывать обращения в базу. Сертификат вполне возможно будет, когда Аве Кодер станет полноценной платформой ;) (в электронном виде или по почте из Лондона)

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

      @@avecoder Спасибо 😊
      Часом нету видео о работе с базой через бэкэнд ?

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

      @@ponyatnoeit169 В разработке

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

    Здравствуйте. Вы можете привести пример из реальной жизни где можно использовать функцию uuid_generate_v4(). Зачем генератор использовать, если например мы можем использовать числовой формат INTEGER, я понимаю что он конечен. Поясните. Ну например, у меня 1 миллиард строк, что лучше использовать? uuid_generate_v4(), UUID(тип поля) или просто INTEGER(тип поля) и указать AUTOINCREMENT, например в поле ID PRIMARY KEY.

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

      Хотя, вопрос уже отпал) подразобрался

  • @Kagekao_666
    @Kagekao_666 Год назад +1

    что б вы понимали всё это я делал на телефоне в термуксе...

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

    у меня знакомый чуть не умер когда увидел лошадь в подъезде. Хорошо не умер

  • @xy777top
    @xy777top 16 дней назад

    зачем же вы так, меня в подъезде убила лошадь...

  • @OlexanderL
    @OlexanderL 3 года назад +6

    До нових зустрічей, дуже дякую.

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

    огромное СПАСИБО