SQL Ready | Базы Данных
10.8K subscribers
668 photos
28 videos
2 files
330 links
Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/sql_ready
加入频道
This media is not supported in your browser
VIEW IN TELEGRAM
Наглядная шпаргалка по SQL Join 🫡

Это поможет вам быстро понять и визуализировать, как работают различные типы SQL Join.

На видео наглядно показано, как данные из двух таблиц сопоставляются и двигаются в зависимости от типа соединения:

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥3
👩‍💻 CS50 на русском (Гарвардский курс по основам программирования)

Переведённые на русский язык лекции топового Гарвардского курса CS50 по основам программирования. Курс охватывает ключевые концепции информатики, такие как алгоритмы, структуры данных, веб-разработка и многое другое.

Ссылочка на плейлист: YouTube 🖤


➡️ SQL Ready | #курс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Банальный, но всё равно очень крутой и полезный ресурс — W3Schools

Сайт, на котором собраны бесплатные онлайн-учебники на разные темы. Есть как справочники, которые помогут вспомнить синтаксис, так и полноценные самоучители.

📌 Ссылочка: schoolsw3.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥2
😁19🔥5👎1
Media is too big
VIEW IN TELEGRAM
Репозиторий SQL scripts!

В нем содержится коллекция полезных SQL-запросов и скриптов для различных баз данных, таких как MySQL, PostgreSQL и Microsoft SQL Server.

Ссылочка на него: Github 😸


➡️ SQL Ready | #репозиторий
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Держите гифку, на которой наглядно показано 5 ключевых компонентов SQL, а именно:

1. DDL: data definition language
2. DQL: data query language
3. DML: data manipulation language
4.DCL: data control language
5. TCL: transaction control language


➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥7🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Очередная гифка, но на которой изображены блокировки баз данных, и их ключевые различия, сохраняем 👍

Блокировка — временное ограничение на выполнение некоторых операций обработки данных. Она предотвращают одновременный доступ к данным для обеспечения целостности и консистентности данных.

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Git How To — сайт, который предлагает пошаговые руководства и практические примеры для изучения системы контроля версий Git, облегчая процесс освоения её основных команд и функционала.

📌 Ссылочка: githowto.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
🖥 Базовые методы для работы с таблицами

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

➡️ SQL Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥5🤝3
This media is not supported in your browser
VIEW IN TELEGRAM
Mockaroo — это онлайн-инструмент для генерации фейковых данных в различных форматах (JSON, CSV, SQL и др.), идеально подходящий для тестирования приложений и прототипирования.

Ссылочка: mockaroo.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3
Как защитить свои запросы от SQL-инъекций?

Если вы используете данные, введенные пользователем, напрямую в SQL запросах, вы рискуете дать доступ к вашей БД вредоносному коду.

Разберем, как НЕ нужно писать запросы, и какая практика обезопасит вас от SQL Injection.

Например, для авторизации пользователя проверяем его существование в нашей БД:
SELECT * FROM users WHERE username = '$username' AND password = '$password'


Но что если юзер в поле логин решил ввести следующее:
' OR '1'='1'


Тогда запрос приобретет вид:
SELECT * FROM users WHERE username = '' OR '1'='1' AND password = '$password'


И поскольку для запроса поле username остается пустым, левая часть оператора OR будет истиной, запрос вернет пользователю все учетные записи из БД, и тот сможет авторизоваться под любой из них.

Решение — использование параметризованных запросов и placeholders вида %s для PostgreSQL.

Перепишем запрос с помощью Python, но условимся, что уже подключены к БД и объекту курсора для выполнения запросов:
username = input()
password = input()

sql = "SELECT * FROM users WHERE username = %s AND password = %s;"
cur.execute(sql, (username, password)) # метод объекта курсора, выполняющий запрос

results = cur.fetchall() # возвращает все строки результата запроса


И не забудем закрыть подключение к БД и объекту курсора.

🔥 Поэтому! Используйте параметризацию данных или ORM, внимательно настраивайте валидацию этих данных и вы точно избежите утечек связанными с SQL-инъекциями.

➡️ SQL Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥7
Как отследить, кто внес изменения в вашу таблицу?

Поговорим про снифферы трафика триггеры в SQL:

При внесении изменений в таблицу триггеры автоматически запускают выполнение разного рода и назначения функции. Рассмотрим, какие бывают типы триггеров и для каких событий.

В основном их используют для:

• Предобработка данных перед записью в БД.

Логирование изменений - кто внес изменения, добавил или удалил строчки.

• Оповещение другие модулей или сервисов при взаимодействии с таблицей.

• Реализация бизнес-логики.


В следующей части рассмотрим как создать исполняемую функцию для такого триггера!

➡️ SQL Ready | #гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10🤝4👍3