Data Science. SQL hub
35.8K subscribers
922 photos
50 videos
37 files
981 links
По всем вопросам- @workakkk

@itchannels_telegram - 🔥лучшие ит-каналы

@ai_machinelearning_big_data - Machine learning

@pythonl - Python

@pythonlbooks- python книги📚

@datascienceiot - ml книги📚

РКН: https://vk.cc/cIi9vo
Download Telegram
🖥Комплексные приложения для работы с данными с SQL и Jupyter

Этот замечательный, бесплатный курс дает пошаговое введение в создание приложений для работы с данными с использованием блокнотов Python, SQL и Jupyter. Он даже включает в себя введение в визуализацию с использованием plotly и других.

👉Читать курс

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍61
⚡️Почему тип поля enum на уровне базы — зло

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

А что на практике? Давайте рассмотрим.

Допустим у нас есть таблица со списком платежей, содержащая колонку status со следующими значениями:
CREATE TABLE `payments`(
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`status` ENUM('new', 'progress', 'done', 'fauled') NOT NULL,
KEY(`id`)
) CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;


▪️Через какое-то время была замечена грамматическая ошибка в слове "failed" и принято решение её исправить.

Нюанс изменения enum поля в том, что при его редактировании сбрасываются значения колонки в null для всех строк таблицы, а то и вовсе получим ошибку Data truncated for column 'status' at row 3. То есть, чтобы корректно изменить enum поле, нужно куда-то сохранить данные. План действий будет таков:

1. Создать новую enum колонку с правильным набором данных;

2. Скопировать значение из старой колонки в новую и сразу применить исправление значения;

3. Удалить старую enum колонку;

4. Переименовать новую enum колонку.

При использовании фреймворка Laravel это будет выглядеть следующим образом:
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;

return new class extends Migration
{
public function up(): void
{
// Создаём новую колонку
Schema::table('payments', function (Blueprint $table) {
$table->enum('tmp_status', ['new', 'progress', 'done', 'failed']);
});

// Копируем значения из enum колонки в новую с корректировкой значения
DB::statement('UPDATE payments SET tmp_status = (IF status = \'fauled\' THEN \'failed\' ELSE status END IF)');

// Удаляем старую колонку
Schema::table('payments', function (Blueprint $table) {
$table->dropColumn('status');
});

// Переименовываем колонку
Schema::table('payments', function (Blueprint $table) {
$table->renameColumn('tmp_status', 'status');
});
}
};


На языке SQL эти действия будут выглядеть следующим образом:

📌 Читать далее

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍52
🖥 SQLGlot

SQLGlot - это парсер, транспилятор, оптимизатор и для SQL. Он может использоваться для форматирования SQL или трансляции между 20 различными диалектами, такими как DuckDB, Presto, Spark, Snowflake и BigQuery. х.

pip3 install sqlglot

Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
Асинхронное варение MongoDB в Python

Интересный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.

За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.

Запись трансляции (доклад на 04:32)

#mongodb
👍93🔥1
🔥Бесплатные сертификационные курсы для Data Science в 2023 году.

🔰 SQL
https://online.stanford.edu/courses/soe-ydatabases0005-databases-relational-databases-and-sql

🔰 Python
https://cs50.harvard.edu/python/2022/

🔰Statistics and R
https://edx.org/learn/r-programming/harvard-university-statistics-and-r

🔰Data Science: R Basics
https://edx.org/learn/r-programming/harvard-university-data-science-r-basics

🔰 Excel and PowerBI
https://learn.microsoft.com/en-gb/training/paths/modern-analytics/

🔰Data Science: Visualization
https://edx.org/learn/data-visualization/harvard-university-data-science-visualization

🔰Data Science: Machine Learning
https://edx.org/learn/machine-learning/harvard-university-data-science-machine-learning

🔰 R
https://cognitiveclass.ai/courses/r-101

🔰 Tableau
https://tableau.com/learn/training

🔰 PowerBI
https://learn.microsoft.com/en-us/users/collinschedler-0717/collections/m14nt4rdwnwp04

🔰Data Science: Productivity Tools
https://edx.org/learn/data-science/harvard-university-data-science-productivity-tools

🔰Data Science: Probability
https://edx.org/learn/probability/harvard-university-data-science-probability

🔰 Mathematics
https://ocw.mit.edu/search/?d=Mathematics&s=department_course_numbers.sort_coursenum

🔰 Statistics
https://cognitiveclass.ai/courses/statistics-101

🔰 Data Visualization
https://pll.harvard.edu/course/data-science-visualization

🔰 Machine Learning
https://developers.google.com/machine-learning/crash-course

🔰 Deep Learning
https://introtodeeplearning.com

🔰Data Science: Linear Regression
https://pll.harvard.edu/course/data-science-linear-regression/2023-10

🔰Data Science: Wrangling
https://edx.org/learn/data-science/harvard-university-data-science-wrangling

🔰 Linear Algebra
https://pll.harvard.edu/course/data-analysis-life-sciences-2-introduction-linear-models-and-matrix-algebra

🔰 Probability
https://pll.harvard.edu/course/data-science-probability

🔰Introduction to Linear Models and Matrix Algebra
https://edx.org/learn/linear-algebra/harvard-university-introduction-to-linear-models-and-matrix-algebra

🔰Data Science: Capstone
https://edx.org/learn/data-science/harvard-university-data-science-capstone

🔰 Data Analysis
https://pll.harvard.edu/course/data-analysis-life-sciences-4-high-dimensional-data-analysis

@sqlhub
👍236🔥6
🔥 Дайджест полезных материалов из мира : sql за неделю

Почитать:
SONB и hstore: использование специальных типов данных PostgreSQL для работы с полуструктурированными данными
Таблица-справочник – генератор DAG? А что так можно было?
Какой парсер для автоматизации ревью кода лучше — DacFx или ANTLR
Как полностью устранить дублирующие записи в ClickHouse
Анализ сентимента и эмоционального окраса текстов с помощью SQL
Почему тип поля enum на уровне базы — зло
Использование конечных автоматов с несколькими активными состояниями для автоматизации бизнес-процессов
Просто о Deep #1
Как обучить миллионы моделей прогнозирования временными сериями
How to simplify database operations using MySQL stored procedures
Exploring the Basics of SQL: A Novice's Journey
PL/Python on YugabyteDB
Comprehensive Guide: Deploying and Debugging Custom Webhooks on Supabase & PostgreSQL
Garanta a Eficiência: Escolhendo entre tipos String no SQL
Nulls are equal in distinct but inequal in unique.
Querying Your Data Easily and Smartly through Hugging Face
How To Seamlessly Integrate Sequelize with Node.js and JavaScript for Database Monitoring
Starting My First Command Line Project
Entendendo JOINs no SQL: Unindo Tabelas Como um Profissional

Посмотреть:
🌐 Build SQL Scripts and Queries with Amazon CodeWhisperer | Amazon Web Services
🌐 Продвинутый парсинг на Python со сменой прокси ( 10:27)
🌐 Уроки Golang с нуля /#25 - Интерфейсы ( 10:51)
🌐 Многопоточный парсер на Python. ООП подход ( 08:24)

Хорошего дня!

@sqlhub
👍10🔥32
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Termdbms

Удобный инструмент для просмотра и редактирования файлов базы данных(SQLite, CSV), написанный на Go.

Позволяет перемещаться по таблицам с любым количеством столбцов
Позволяет перемещаться по таблицам с любым количеством строк
Запускает SQL-запросы и отображайте результаты
Позволяет сохранять SQL-запросы в буфер обмена
Обновление, удаление или вставка с помощью SQL, с поддержкой отмены / повтора для SQLite
Работает с клавиатурой и мышью.
Автоматическое форматирование JSON в режиме выбора / форматирования
Позволяет редактировать многострочный текст с помощью элементов управления, подобных vim
Отмена / возврат изменений (только SQLite)
Темы (нажмите T в режиме таблицы)
Вывод результатов запроса в формате CSV
Конвертируйте .csv в базу данных SQLite! Экспортируйте снова как базу данных SQLite или файл .csv!

📌Github

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍93🥰1
🖥 Если бы я начал изучать SQL в 2023 году.

🚀 БЕСПЛАТНЫЕ курсы и БЕСПЛАТНЫЕ сертификаты.

SQL https://cognitiveclass.ai/courses/learn-sql-relational-databases

MySQL https://scaler.com/topics/course/sql-using-mysql-course/

PostgreSQL https://freecodecamp.org/learn/relational-database/

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥72
Please open Telegram to view this post
VIEW IN TELEGRAM
👍84🔥1
🖥 Defog SQLCoder

Библиотека для работы с большими языковыми моделями для преобразования текста на естественном языке в SQL-запросы.

SQLCoder - это модель с 15B параметрам, которая превосходит gpt-3.5-turbo для задач генерации из естественного языка в SQL.

Модель значительно превосходит все популярные модели с открытым исходным кодом. Она также значительно превосходит модель text-davinci-003, более чем в 10 раз превосходящую ее по размеру.

Github
Demo

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍2🔥1😁1
Media is too big
VIEW IN TELEGRAM
📹 Python+SQL работа с базами данных.

Видео

@sqlhub
👍14🔥31
🔥 Дайджест полезных материалов из мира: sql за неделю

Почитать:
Сверхбыстрые приложения на Oracle – легко
Способ залезть в «кишочки» операционной системы, Docker из PostgreSQL с помощью SQL
Что нового в Pandas 2.1
Готовые скрипты Python
Что происходит в СУБД при записи регистра накопления 1С?
Как работает миграция между базами данных в реальном мире
SQL Задача про бинарное дерево
SQL + Docker: The combo for Quick and Safe Query Testing
Multi-Tenant SaaS Architecture with Entity Framework
SQL 50 – 1757. Recyclable and Low Fat Products
SQLMorpher: LLM-Based Tool to Improve Data Transformation in Building Energy Data
7 reasons why a user would need to query Amazon S3 directly
What Are Window Functions in SQL & How To Use Them
Comandos SQL
Basic Sql Commands⏹️
Use several databases within your Laravel project
Advanced SQL Server: Upgrading Database Audit Logs with Loggly API Integration

Посмотреть:
🌐 Python+SQL работа с базами данных. ( 11:10)
🌐 Полный курс по библиотеке Numpy. Матрицы ( 11:24)
🌐 Уроки Golang с нуля /#26 - Обработка ошибок ( 08:14)
🌐 Полный курс по библиотеке Numpy. Полезные функции ( 11:05)
🌐 Полный курс по библиотеке Numpy. Применение Numpy ( 11:52)
🌐 Полный курс по библиотеке Numpy. Создание матриц из файла ( 15:55)
🌐 Python Атоматизация отправки email с selenium ( 04:59)
🌐 Полный курс по библиотеке Numpy. Продвинутые методы работы с матрицами ( 07:28)
🌐 Python анализ данных с Pandas. ( 17:04)

Хорошего дня!

@sqlhub
👍142🔥2
🖥 3 лучших инструмента для автоматизации устранения уязвимостей SQL Injection!

1⃣ SQLMap
Вы, вероятно, уже знаете о первом инструменте.

SQLMap - самый популярный сканер уязвимостей SQL Injection, полностью открытый!

2⃣ Ghauri
Ghauri - это продвинутый инструмент, позволяющий автоматизировать обнаружение и эксплуатацию уязвимостей SQL Injection!

Ghauri также имеет открытый исходный код и доступен на GitHub!

3⃣ SQLiv
SQLiv способен найти в гугле определенную цель, просмотреть ее и просканировать несколько URL-адресов на предмет SQL-инъекций!

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥1
🖥Python анализ данных с Pandas. PandaSQL

Видео
Код из видео
Введение в Pandas

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥21
🖥 Python+SQL часть2 создание таблиц.

Видео
Часть 1

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥31
🔥 Дайджест полезных материалов из мира SQL за неделю

Почитать:
Проектирование БД и почему важен SQL для системного аналитика: гайд по улучшению качества требований
Тестирование производительности на Python: Пошаговое руководство с Flask
Искусство ETL. Пишем собственный движок SQL на Spark [часть 3 из 5]
Вы вообще нормальн… нормализованный??
SQL HowTo: ближайший общий предок в дереве (LCA)
7 аргументов почему UUID лучше, чем автоинкрементные идентификаторы
MSSQL: Rebuild vs Reorganize в высоконагруженных системах
Как я писал сервер на NodeJS для базы Firebird 3.0
Harness the Power of SQL CASE - Your Ultimate SQL CASE Statement Guide
Transaction Internals: Fast Path vs Multi-Shard
The cost of additional secondary indexes in PostgreSQL & YugabyteDB
Dominando a função WITH: Criando Consultas Temporárias no SQL
Database Review: Top Five Missing Features from Database APIs
SQL Roadmap for Data Analysts[Step-by-Step]
Offline auth with Electron + SQLite + React
SQL concept for Beginners
Implementing hassle-free audits in the SQL database
Simple and Efficient Full Text Search using Django and Postgres

Посмотреть:
🌐 Невероятная нейросеть переводит любое видео на другие языки с сохранением оригинального голоса. ( 00:55)
🌐 Python анализ данных с Pandas. PandaSQL ( 12:13)
🌐 Управление жестами всегда было в ваших часах, просто его нужно было активировать. ( 00:11)
🌐 Python анализ данных с Pandas. Join, merge, concat в Pandas ( 19:25)
🌐 Python+SQL часть2 создание таблиц. ( 05:15)
🌐 Уроки Golang с нуля /#28 - Встраивание типов ( 06:16)
🌐 Python анализ данных с Pandas. ( 17:04)
🌐 Уроки Golang с нуля /#27 - Bufio. Чтение и запись ( 10:35)

Хорошего дня!

@sqlhub
👍10🔥41
🖥 SQL-запросы, которые вы рано или поздно погуглите

Отвечу на вопросы, которые возникают у новичков в SQL, в частности в PostgreSQL и BigQuery. Мы не будем обсуждать совсем базовые SELECT, CREATE или DROP.

Для удобства восприятия будем использовать тестовые данные. Первая таблица players содержит данные о пользователях и дате установки мобильной игры:

|playerId|name |installationDate|game |os |
|--------|----------------|----------------|----------|----------|
|9e8a0174|Трофимова Алёна |2023-07-30 |basketball|iOS 16 |
|3e2e04ad|Семенова Алиса |2022-07-21 |consumer |iOS 13 |
|642eafb2|Абрамова Диана |2022-06-06 |curtain |iOS 15 |
|8c231f49|Ефимова Ульяна |2022-06-21 |conductor |Android 12|
|a085caf1|Захаров Михаил |2023-04-11 |appear |Android 11|
|c4deb869|Николаева Марта |2022-03-31 |possible |iOS 11 |


вторая, levels, — даты прохождения игроком с определенным ID того или иного уровня:

|playerId|level|completionDate|
|--------|-----|--------------|
|7b50274d|6 |2023-05-17 |
|b0c9a9da|20 |2022-02-19 |
|09b3d5b5|15 |2022-07-22 |
|52b3bfa9|11 |2022-02-18 |
|3e2e04ad|17 |2022-08-17 |
|642eafb2|17 |2022-04-14 |
|8c231f49|20 |2022-05-30 |
|a085caf1|20 |2023-02-24 |
|36545ec1|16 |2022-08-10 |
|44e9653f|3 |2023-06-02 |



Я буду верстать в BigQuery на таком же датасете, так что использую соответствующий диалект.


INNER JOIN
Это тип объединения по умолчанию, и он оставит наименьшее число строк. Слово INNER можно опустить:

SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;



Посмотрим, что здесь происходит:

В строках 1-6 мы выбираем только необходимые столбцы;
7-8: командой AS задаем псевдонимы таблицам;
8: определяем логику объединения по совпадающим playerId. Это означает также, что мы сохраним данные только об первом попавшемся уровне.

Получим всего четыре строки:
|playerId|name |installationDate|game |level|completionDate|
|--------|--------------|----------------|---------|-----|--------------|
|3e2e04ad|Семенова Алиса|2022-07-21 |consumer |17 |2022-08-17 |
|642eafb2|Абрамова Диана|2022-06-06 |curtain |17 |2022-04-14 |
|8c231f49|Ефимова Ульяна|2022-06-21 |conductor|20 |2022-05-30 |
|a085caf1|Захаров Михаил|2023-04-11 |appear |20 |2023-02-24 |


OUTER JOIN
Этот тип объединения, напротив, куда «добрее» и в случае FULL-объединения сохранит записи обо всех игроках и всех пройденных уровнях:

SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
FULL OUTER JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;



У нас появятся записи, где playerId пуст, поскольку попросили мы идентификаторы только из первой таблицы:

🔍 Читать

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥43
🚀 Бесплатный курс. Специализация Data Science Fundamentals with Python and SQL

Создайте основу для своей карьеры в области Data Science. Получите практический опыт работы с Jupyter, Python, SQL. Выполнять статистический анализ на реальных массивах данных.

Курс

@sqlhub
👍114🔥1
🖥 SQL Translator - это инструмент для преобразования запросов на естественном языке в SQL-запросы с помощью искусственного интеллекта. Этот проект является 100% бесплатным и с открытым исходным кодом.

git clone https://github.com/whoiskatrin/sql-translator.git

Github
Проект

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍233🔥2
Media is too big
VIEW IN TELEGRAM
📊Python Matplotlib. Визуализация данных на PRO уровне.


📌 Видео
📌 Код и полезные ресурсы

@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥21