Базы данных (Data Base)
8.2K subscribers
570 photos
468 videos
19 files
549 links
Базы данных (Data Base). По всем вопросам @evgenycarter
Download Telegram
Курс по SQLAlchemy. Часть 1

Зачем Учить SQLAlchemy ORM
Подключение к Базе Данных, сырые SQL запросы через engine #2
Создание таблиц и вставка данных через Core #3
Session и первые шаги в ORM #4
Создание таблиц через КЛАССЫ - Mapped и mapped_column #5
SELECT и UPDATE запросы через ORM и Core #6
Базовые SELECT запросы #7

источник

#SQL

👉 @database_info
👍5👏1
Курс по SQLAlchemy. Часть 2

СЛОЖНЫЕ запросы: JOIN, CTE, Подзапрос, Оконные функции #8
Введение в RELATIONSHIP - вся МОЩЬ ORM #9
Продвинутые RELATIONSHIP + индексы и constraints на уровне БД #10
Pydantic DTO и FastAPI + SQLAlchemy #11
Связь МНОГИЕ-КО-МНОГИМ #12
Alembic Миграции Базы Данных #13

источник

#SQL

👉 @database_info
👍61👏1
Оптимизация SQL-запросов в 23 раза!!!

https://dev.to/navneet7716/optimizing-sql-queries-h9j

#SQL

👉 @database_info
👍6
Сравнение векторных БД

https://vdbs.superlinked.com/

#SQL

👉 @database_info
👍6
90+ вопросов и ответов для собеседования по SQL (ENG)

Почти все крупные представители технологической индустрии, такие как Uber, Netflix, Airbnb и т.д., используют SQL. В этом блоге перечислены все лучшие вопросы для собеседования по SQL.

https://intellipaat.com/blog/interview-question/sql-interview-questions/

#SQL

👉 @database_info
👍4
This media is not supported in your browser
VIEW IN TELEGRAM
О командах SQL в двух словах

DDL (Data Definition Language): Занимается структурой или схемой базы данных.

CREATE: используется для создания таких объектов, как таблицы, представления, индексы и т. д.

ALTER: используется для изменения существующих объектов базы данных. Например, она может добавлять, удалять или изменять столбцы в существующей таблице.

DROP: используется для удаления объектов базы данных. Например, DROP TABLE удаляет существующую таблицу.

TRUNCATE: используется для удаления всех записей из таблицы, включая все места, отведенные для записей.

DML (Data Manipulation Language): Занимается манипулированием данными и управлением ими в базе данных.

INSERT: добавляет новые строки/записи в таблицу.

UPDATE: изменение существующих строк/записей в таблице.

DELETE: удаление строк/записей из таблицы.

MERGE: используется для вставки, обновления или удаления записей из таблицы на основе определенных условий.

DQL (Data Query Language): Используется для получения данных из базы данных.

SELECT: Извлекает данные из одной или нескольких таблиц. Эту команду можно комбинировать с различными предложениями (например, WHERE, GROUP BY, HAVING) для фильтрации, группировки и сортировки полученных данных.

DCL (Data Control Language): Имеет дело с разрешениями и правами, которые могут быть предоставлены или отменены.

GRANT: Предоставляет определенные привилегии пользователям или ролям.

REVOKE: отменяет определенные привилегии у пользователей или ролей.

TCL (Transaction Control Language): Используется для управления транзакциями в базе данных, обеспечивая целостность данных.

COMMIT: Сохраняет все транзакции в базе данных с момента последней команды COMMIT или ROLLBACK.

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

SAVEPOINT: устанавливает точку в транзакции, к которой впоследствии можно вернуться.

SET TRANSACTION: настройка свойств транзакции.

#SQL

👉 @database_info
👍15
Документация YDB

YDB — это распределённая отказоустойчивая Distributed SQL СУБД. YDB обеспечивает высокую доступность, горизонтальную масштабируемость, а также строгую консистентность и поддержку ACID-транзакций. Для запросов используется диалект SQL (YQL).

https://ydb.tech/docs/ru/

#SQL

👉 @database_info
👍3
Media is too big
VIEW IN TELEGRAM
Базы данных SQL уроки для начинающих. SELECT, JOINS, GROUP BY, INSERT, UPDATE, WHERE

00:00 - План на урок
00:50 - Виды баз данных
02:53 - О реляционных БД
03:15 - 1 нормальная форма
03:45 - 2 нормальная форма
04:50 - Связи между таблицами
06:12 - Начало работы с MySQL
06:47 - SHOW DATABASES
07:00 - CREATE DATABASE
07:16 - DROP DATABASE
07:40 - SHOW TABLES
07:55 - CREATE TABLE
08:50 - SHOW COLUMNS
10:10 - INSERT INTO
10:45 - SELECT *
11:15 - SELECT id, surname
11:40 - DISTINCT
12:10 - WHERE
12:45 - LIMIT
13:07 - AS
13:30 - ORDER BY
14:04 - ALTER TABLE
14:40 - UPDATE SET
15:30 - LIKE
16:20 - where AND OR
17:25 - BETWEEN
17:45 - DELETE
18:10 - Multiple INSERT
19:10 - Объединение таблиц \ JOINS
20:05 - INNER JOIN
21:00 - LEFT OUTER JOIN
21:15 - RIGHT OUTER JOIN
21:30 - UNION
22:04 - Агрегатные функции
23:10 - GROUP BY

#sql

👉 @database_info
👍8🔥2
Хранимые процедуры в SQL

В этой статье разберемся с хранимыми процедурами. Напомню, что мы работаем в СУБД MySQL, если вы работаете в другой СУБД, то некоторые синтаксические конструкции могут отличаться, но суть остается такой же.

https://telegra.ph/Hranimye-procedury-v-SQL-04-16

#SQL

👉 @database_info
👍3👎1🔥1
Представления в SQL

Здравствуйте, в этой статье будут разобраны представления или view в SQL. На простых примерах объясним как создавать представления и как к ним обращаться. Также затронем понятие модифицируемого представления в SQL.

https://telegra.ph/Predstavleniya-v-SQL-06-18

#SQL

👉 @database_info
5👍2👎1
Самоучитель по SQL

Наш самоучитель по SQL научит вас использовать SQL в: MySQL, SQL Server, MS Access, Oracle, Sybase, Informix, Postgres и других системах баз данных.

https://www.w3schools.com/sql/default.asp

#db #sql

👉 @database_info
👍4😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Получение значений из строк N до/после текущей строки с помощью 2-го параметра LAG/LEAD

например.

LAG ( ..., 2 ) OVER ( ORDER BY ... ) = 2 before
LEAD ( ..., 3 ) OVER ( ORDER BY ... ) = 3 after


За пределами first/last row => возвращаем null

Используйте 3-й параметр, чтобы вернуть значение по умолчанию

#db #sql

👉 @database_info
👍5🥰2
Находим первое, N-ое или последнее значение в SQL

FIRST_VALUE ( val ) - Start val
NTH_VALUE ( val, N ) - Val at row N
LAST_VALUE ( val ) - Final val


Условие OVER определяет порядок

Будьте осторожны с использованием значения по умолчанию - оно останавливает NTH и LAST на текущем значении => неожиданные результаты

#db #sql

👉 @database_info
👍4🥰32
Media is too big
VIEW IN TELEGRAM
Практические примеры по оптимизации запросов в PostgeSQL
Иван Чувашов

источник

#db #sql #postgesql

👉 @database_info
👍4
Media is too big
VIEW IN TELEGRAM
SQL injection - почему, зачем и как защититься от SQL инъекции

В этом видио хотелось бы поговорить про очень опасную на мой взгляд хакерскую атаку SQL Injection. Это одна из старейших атак и она все ещё актуальна. Сегодня мы рассмотрим примеры использования SQL Injection на примере небольшого C# приложения. В других языках программирования и фреймворках все работает идентично.

источник

#sql

👉 @database_info
👍3
Media is too big
VIEW IN TELEGRAM
SQL Injection - теория и примеры

В прошлом видео я поспешил рассказать и показать SQL Injection на практике, а в этом видео я хочу сделать шаг назад и поговорить чуть больше о теории и больше рассмотреть небольших примеров.

источник

#sql

👉 @database_info
👍5
Как найти дубли в sql

Для того чтобы найти дубликаты в базе данных SQL, можно использовать операторы SELECT и GROUP BY совместно с оператором HAVING. Например, следующий запрос позволяет найти все строки, у которых значение определенного столбца повторяется более одного раза:


SELECT столбец, COUNT(*) AS количество
FROM таблица
GROUP BY столбец
HAVING COUNT(*) > 1;

Этот запрос выведет все уникальные значения столбца "столбец", а также количество раз, которое каждое значение повторяется в таблице. Результатом будут только те строки, где значение столбца повторяется более одного раза, что указывает на наличие дубликатов.

Также можно использовать операторы JOIN или подзапросы для более сложных запросов на поиск дубликатов. Важно помнить, что перед выполнением подобных операций на поиск дубликатов необходимо создать резервную копию базы данных или таблицы, чтобы избежать потери данных.

#sql

👉 @database_info
👍3