Полезная библиотека SQLModel для Python, которая упрощает взаимодействие с SQL базами данных.
С помощью SQLModel можно использовать Pydantic-подобные классы, использующие аннотации типов Python для повышения читаемости.
▪Github
▪Документация
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥1
Python-библиотека SQLLEX, которая позволяет эффективно и безопасно взаимодействовать с базами данных.
Если вы имели опыт работы с базами данных на Python, то, вероятно, испытывали трудности при написании SQL-запросов. Однако теперь нет необходимости бороться с этим. Больше никаких con.cursor() , ваш ждут удобные функции db.insert(), db.select().
Теперь ваш код будет более структурирован и понятен без магии SQL.
На github-е SQLLEX имеется подробная документация с обширным набором примеров кода, доступных в разделе wiki.
pip install sqllex
▪Github
▪Документация
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤3🔥2👎1
💬 Регулярные выражения
Язык SQL поддерживает работу с регулярными выражениями (regular expressions или RegEx). Это специальный язык, позволяющий достаточно точно определить шаблоны поиска в строке.
Для работы с регулярными выражениями используется оператор SIMILAR TO вместо LIKE.
Вернемся к нашей задаче — нужно выбрать пользователей, чье имя начинается на 'A' и 'B'. Чтобы решить ее, нужно применить такой шаблон:
Разберем примененный шаблон [AB]%. В квадратных скобках перечисляются допустимые символы, а далее следует знакомый нам символ %. Этот запрос вернет пользователей с именами Abigale, Andy, Brayan, и так далее.
Представим, что нам нужно найти пользователей, у которых username заканчивается любой буквой.
Это можно сделать таким шаблоном: %[abcdefghijklmnopqrstuvwxyz]. Согласитесь, такая запись неудобна для чтения и записи.
А что, если мы случайно пропустим какую-то букву? В квадратных скобках можно использовать символ - для перечисления. Если записать в квадратных скобках начальный символ, поставить "-" и указать конечный символ, то такой шаблон вернет любой символ из диапазона от начального до конечного.
Напишем запрос, который вернет всех пользователей у которых username заканчивается любой буквой, будет выглядеть так:
Точно так же можно работать и с русскими буквами: '%[а-я]%'. Такой запрос поможет найти пользователей, у которых в поле username есть русские буквы:
Такой запрос вернет всех пользователей, чей username заканчивается на любую цифру.
Комбинируя правила, мы можем создавать достаточно сложные шаблоны. Например, проверим, что в поле email введены корректные адреса электронной почты.
Корректная почта должна содержать адрес, который состоит из:
*️⃣ Имени с любым количеством любых символов — например, my_email
*️⃣ Символа @
*️⃣ Домена с любым количеством любых символов — например, gmail
*️⃣ Точки
*️⃣ Указания национальной зоны — например, com
Запрос на поиск корректных адресов будет таким:
Такой запрос выведет имена пользователей с корректными адресами электронной почты, однако нам интереснее найти ошибки. В этом случае частица NOT позволит найти строки, которые не соответствуют шаблону:
Теперь выберем все адреса электронной почты, у которых национальная зона состоит ровно из двух символов — например, ru, su, io и так далее. При этом исключим зоны, состоящие из трех и более символов — например, com.
Это можно сделать так: %.[a-z][a-z]. Но удобнее воспользоваться еще одним спецсимволом — подчеркиванием _.
Символ подчеркивания обозначает ровно один любой символ, необязательно букву. Наш запрос будет выглядеть так:
Чтобы вывести пользователей с адресами электронной почты оканчивающимися на 3 символа, нужно добавить еще одно подчерктивание в наш шаблон:
Мы рассмотрели наиболее полезные и часто используемые возможности регулярных выражений в SQL, но они ими не ограничиваются.
@sqlhub
Язык SQL поддерживает работу с регулярными выражениями (regular expressions или RegEx). Это специальный язык, позволяющий достаточно точно определить шаблоны поиска в строке.
Для работы с регулярными выражениями используется оператор SIMILAR TO вместо LIKE.
Вернемся к нашей задаче — нужно выбрать пользователей, чье имя начинается на 'A' и 'B'. Чтобы решить ее, нужно применить такой шаблон:
SELECT * FROM users WHERE first_name SIMILAR TO '[AB]%';
Разберем примененный шаблон [AB]%. В квадратных скобках перечисляются допустимые символы, а далее следует знакомый нам символ %. Этот запрос вернет пользователей с именами Abigale, Andy, Brayan, и так далее.
Представим, что нам нужно найти пользователей, у которых username заканчивается любой буквой.
Это можно сделать таким шаблоном: %[abcdefghijklmnopqrstuvwxyz]. Согласитесь, такая запись неудобна для чтения и записи.
А что, если мы случайно пропустим какую-то букву? В квадратных скобках можно использовать символ - для перечисления. Если записать в квадратных скобках начальный символ, поставить "-" и указать конечный символ, то такой шаблон вернет любой символ из диапазона от начального до конечного.
Напишем запрос, который вернет всех пользователей у которых username заканчивается любой буквой, будет выглядеть так:
SELECT * FROM users WHERE username SIMILAR TO '%[a-z]';
Точно так же можно работать и с русскими буквами: '%[а-я]%'. Такой запрос поможет найти пользователей, у которых в поле username есть русские буквы:
SELECT * FROM users WHERE username SIMILAR TO '%[а-я]%';
Чтобы выбрать все цифры, используем шаблон [0-9]:
SELECT * FROM users WHERE username SIMILAR TO '%[0-9]';
Такой запрос вернет всех пользователей, чей username заканчивается на любую цифру.
Комбинируя правила, мы можем создавать достаточно сложные шаблоны. Например, проверим, что в поле email введены корректные адреса электронной почты.
Корректная почта должна содержать адрес, который состоит из:
Запрос на поиск корректных адресов будет таким:
SELECT username, email FROM users WHERE email SIMILAR TO '%@%.%';
Такой запрос выведет имена пользователей с корректными адресами электронной почты, однако нам интереснее найти ошибки. В этом случае частица NOT позволит найти строки, которые не соответствуют шаблону:
SELECT username, email FROM users WHERE email NOT SIMILAR TO '%@%.%';
Теперь выберем все адреса электронной почты, у которых национальная зона состоит ровно из двух символов — например, ru, su, io и так далее. При этом исключим зоны, состоящие из трех и более символов — например, com.
Это можно сделать так: %.[a-z][a-z]. Но удобнее воспользоваться еще одним спецсимволом — подчеркиванием _.
Символ подчеркивания обозначает ровно один любой символ, необязательно букву. Наш запрос будет выглядеть так:
SELECT username, email FROM users WHERE email SIMILAR TO '%.__';
Чтобы вывести пользователей с адресами электронной почты оканчивающимися на 3 символа, нужно добавить еще одно подчерктивание в наш шаблон:
SELECT
username,
email
FROM users WHERE email SIMILAR TO '%.___';
Мы рассмотрели наиболее полезные и часто используемые возможности регулярных выражений в SQL, но они ими не ограничиваются.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🔥10❤5
🔍 Где искать работу Дата Саентисту?
Собрали для вас список площадок для поиска работы или фрланс-проекта в области Data Science.
1. Toptal
Toptal - один из крупнейших фриланс сайтов для специалистов по анализу данных. В отличие от многих других бирж фриланса в Toptal соискатели проходят тестирование в различных областях, включая знание английского языка и технические навыки, в области SQL и Python для data science.
2. Open Data Science Jobs
Open Data Science Jobs - одна из крупнейших площадок вакансий, посвященных только науке о данных. Такие компании, как Bose, использовали эту доску объявлений для поиска специалистов по науке о данных для оптимизации своей бизнес-аналитики.
3. Kaggle
Kaggle - одно из крупнейших сообществ датасаентистов. Kaggle предоставляет наборы данных, проводит соревнования и вообще способствует процветанию сообщества специалистов по анализу данных.
Доска вакансий Kaggle - один из лучших вариантов для начала поиска проекта для рабрты. Ее услугами пользуются крупнейшие компании (Amazon, Capital One и AIG и тд).
4. Scalable Path
Если у вас есть готовая команда датасаентистов и вы хотите найти интерсный проект , Scalable Path - отличный вариант.
5. Gigster
Еще одина крупная фриланс площадка с проектами ds.
6. iCrunchData - это доска объявлений c вакансиями в области науки о данных.
7. X-Team
X-Team - рынок фриланса, где можно работать, как одному, так и в команде.
8. Gun.io
Gun.io очень похож на Toptal, быстро и эффективно подбирая для компаний квалифицированных инженеров по науке о данных. С тысячами зарегистрированных членов Gun.io является восходящей звездой в индустрии фриаланса.
9. R-users
Простой поиск по сайту R-users позволяет найти десятки вакансий в области науки о данных, в которых используется язык программирования R.
10. AngelList
AngelList - это место, где встречаются ит- предприниматели и инвесторы.
11. Engineering Jobs
Если вы ищете ds проект Engineering Jobs может стать отличным местом для поиска интересной работы.
12. Dice
Dice - доскоа объявлений о карьере в сфере технологий и ИТ. Эта доска известна тем, что привлекает архитекторов программного обеспечения, инженеров, QA-тестеров и инженеров по анализу данных.
13. SimplyHired
SimplyHired - это еще одна крупная доска объявлений о работе, похожая на Indeed или Monster.
14. Папка с каналами для поиска работы в телеграме.
Телеграм каналы и чаты, где публикуются вакансии ds, python и не только. Очень полезная папка (папки поддерживаются только в последних версиях тг), где можно найти вакансию на любой ЯП.
Ставьте 👍 , если полезно.
@sqlhub
Собрали для вас список площадок для поиска работы или фрланс-проекта в области Data Science.
1. Toptal
Toptal - один из крупнейших фриланс сайтов для специалистов по анализу данных. В отличие от многих других бирж фриланса в Toptal соискатели проходят тестирование в различных областях, включая знание английского языка и технические навыки, в области SQL и Python для data science.
2. Open Data Science Jobs
Open Data Science Jobs - одна из крупнейших площадок вакансий, посвященных только науке о данных. Такие компании, как Bose, использовали эту доску объявлений для поиска специалистов по науке о данных для оптимизации своей бизнес-аналитики.
3. Kaggle
Kaggle - одно из крупнейших сообществ датасаентистов. Kaggle предоставляет наборы данных, проводит соревнования и вообще способствует процветанию сообщества специалистов по анализу данных.
Доска вакансий Kaggle - один из лучших вариантов для начала поиска проекта для рабрты. Ее услугами пользуются крупнейшие компании (Amazon, Capital One и AIG и тд).
4. Scalable Path
Если у вас есть готовая команда датасаентистов и вы хотите найти интерсный проект , Scalable Path - отличный вариант.
5. Gigster
Еще одина крупная фриланс площадка с проектами ds.
6. iCrunchData - это доска объявлений c вакансиями в области науки о данных.
7. X-Team
X-Team - рынок фриланса, где можно работать, как одному, так и в команде.
8. Gun.io
Gun.io очень похож на Toptal, быстро и эффективно подбирая для компаний квалифицированных инженеров по науке о данных. С тысячами зарегистрированных членов Gun.io является восходящей звездой в индустрии фриаланса.
9. R-users
Простой поиск по сайту R-users позволяет найти десятки вакансий в области науки о данных, в которых используется язык программирования R.
10. AngelList
AngelList - это место, где встречаются ит- предприниматели и инвесторы.
11. Engineering Jobs
Если вы ищете ds проект Engineering Jobs может стать отличным местом для поиска интересной работы.
12. Dice
Dice - доскоа объявлений о карьере в сфере технологий и ИТ. Эта доска известна тем, что привлекает архитекторов программного обеспечения, инженеров, QA-тестеров и инженеров по анализу данных.
13. SimplyHired
SimplyHired - это еще одна крупная доска объявлений о работе, похожая на Indeed или Monster.
14. Папка с каналами для поиска работы в телеграме.
Телеграм каналы и чаты, где публикуются вакансии ds, python и не только. Очень полезная папка (папки поддерживаются только в последних версиях тг), где можно найти вакансию на любой ЯП.
Ставьте 👍 , если полезно.
@sqlhub
Toptal
11 Best Freelance Data Scientists for Hire in June 2025 | Toptal®
Toptal offers top data scientists on an hourly, part-time, or full-time contract basis. Clients include Thumbtack, Bridgestone, and Motorola.
👍12❤7🔥3👏1
Крутой Python-пакет на базе ИИ для автоматической генерации SQL-запросов
Фреймворк позволяет создавать сложные SQL-запросы всего за несколько секунд. С Vanna вы можете легко и быстро получать данные из вашей базы данных, просто задавая вопросы
Инструмент может похвастаться высокой точностью на сложных наборах данных, безопасностью и конфиденциальностью, а также самообучением
Стоимость: #бесплатно (но есть платные функции)
#SQL #ИИ #базы_данных
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥4❤1
Ниже приведен список Python-библиотек драйверов для различных баз данных, полезный любому программисту, который интересуется этим языком.
▪redis-py — клиент базы данных Redis на Python
redis-py 3.5.x — это последняя версия, которая поддерживала Python 2. Обновления безопасности, совместимые с Python 2, выходили вплоть до 20 августа 2020 года. Для redis-py 4.0, следующей основной версии, уже требуется Python не ниже версии 3.5.
▪PyMySQL — драйвер Pure Python MySQL, совместимый с mysql-python
Этот пакет содержит клиентскую библиотеку Python MySQL, основанную на стандарте PEP 249.
Большинство открытых API-интерфейсов совместимы с mysqlclient и MySQLdb.
ЗАМЕЧАНИЕ: PyMySQL не поддерживает низкоуровневые API-запросы, которые есть в _mysql, а именно data_seek, store_result и use_result. Вы должны использовать высокоуровневые API-запросы, определенные в стандарте PEP 249. Но некоторые API-запросы, такие как autocommit и ping, все же поддерживаются, поскольку PEP 249 никак не регламентирует их применение.
▪asyncpg — быстрая клиентская библиотека Python / asyncio для базы данных PostgreSQL
Это библиотека интерфейса базы данных, разработанная специально для PostgreSQL и Python / asyncio.
asyncpg — это эффективная и чистая реализация бинарного протокола сервера баз данных PostgreSQL для использования с асинхронным фреймворком Python asyncio. Вы можете узнать больше об asyncpg вот здесь.
asyncpg требует Python версии 3.5 или новее и поддерживается для PostgreSQL начиная с версии 9.2 и заканчивая версией 12.
▪psycopg2 — самый популярный адаптер PostgreSQL для Python
Psycopg — самый популярный адаптер базы данных PostgreSQL для языка программирования Python. Его основными особенностями являются полная реализация спецификации Python DB API 2.0 и безопасность потоков (несколько потоков могут использовать одно и то же соединение). Он был разработан для многопоточных приложений, которые создают и уничтожают множество связей и выполняют большое количество одновременных операций INSERT или UPDATE.
▪mysqlclient — поддерживающий Python 3 форк библиотеки mysql-python
В этом проекте добавлена поддержка Python 3 и исправлен ряд ошибок. Мы надеемся, что этот форк будет снова объединен со своей родительской библиотекой. Это было бы так же логично, как объединение дистрибутива и программы для его установки.
▪cassandra-python-driver — драйвер Python для Cassandra
Современная, многофункциональная и гибконастраиваемая клиентская библиотека Python для Apache Cassandra (1.2+) и DataStax Enterprise (3.1+). Она использует исключительно бинарный протокол Cassandra и язык запросов Cassandra Query Language v3.
▪motor — аснхронный драйвер Python для MongoDB
Motor — это полнофункциональный драйвер MongoDB для Python Tornado и других асинхронных приложений.
▪pymssql — простой интерфейс для Microsoft SQL Server
Простой интерфейс баз данных на языке Python, который строится поверх FreeTDS и предоставляет интерфейс Python DB-API (PEP-249) для Microsoft SQL Server.
▪HappyBase — удобная библиотека для Apache HBase
▪PyMongo — официальный клиент Python для MongoDB
▪SuperSQLite — улучшенная библиотека SQLite
Это многофункциональная библиотека Python, предназначенная для использования SQLite в Python компанией Plasticity. Построена она на основе apsw.
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥3❤1
SQL_Pandas.pdf
515.4 KB
🔥 Шпаргалка SQL → Pandas
— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.
@sqlhub
— выбрать один столбец или несколько из них;
— фильтрация;
— выбор уникальных значений по столбцу;
— подсчет числа значений;
— перечисление названий столбцов и т.д.
@sqlhub
👍14🔥2❤1
FugueSQL – SQL для Pandas, Spark и Dask DataFrames
Что такое FugueSQL?
FugueSQL – это библиотека Python, которая позволяет пользователям комбинировать код на языке Python и команды SQL. Это дает пользователям возможность гибко переключаться между Python и SQL в рамках Jupyter Notebook или Python-скрипта.
Чтобы установить FugueSQL, введите:
Для запуска на движках выполнения Spark или Dask введите:
В этой статье мы рассмотрим некоторые утилиты FugueSQL и сравним FugueSQL с другими инструментами, такими как pandasql.
В чем разница между FugueSQL и pandasql?
Если вы знакомы с pandasql, то у вас может возникнуть вопрос: Зачем использовать FugueSQL, если pandasql уже позволяет выполнять SQL с помощью pandas?
pandasql имеет единственный бэкэнд – SQLite. Передача данных между pandas и SQLite сопряжена с большими накладными расходами.
С другой стороны, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite.
▪Читать
▪Github
@sqlhub
Что такое FugueSQL?
FugueSQL – это библиотека Python, которая позволяет пользователям комбинировать код на языке Python и команды SQL. Это дает пользователям возможность гибко переключаться между Python и SQL в рамках Jupyter Notebook или Python-скрипта.
Чтобы установить FugueSQL, введите:
pip install fugue[sql]
Для запуска на движках выполнения Spark или Dask введите:
pip install fugue[sql, spark]
pip install fugue[sql, dask]
pip install fugue[all]
В этой статье мы рассмотрим некоторые утилиты FugueSQL и сравним FugueSQL с другими инструментами, такими как pandasql.
В чем разница между FugueSQL и pandasql?
Если вы знакомы с pandasql, то у вас может возникнуть вопрос: Зачем использовать FugueSQL, если pandasql уже позволяет выполнять SQL с помощью pandas?
pandasql имеет единственный бэкэнд – SQLite. Передача данных между pandas и SQLite сопряжена с большими накладными расходами.
С другой стороны, FugueSQL поддерживает несколько локальных бэкендов: pandas, DuckDB и SQLite.
from fugue.api import fugue_sql
import json
query = """
SELECT id, value
FROM input_df
TRANSFORM USING map_letter_to_food(mapping={{mapping}}) SCHEMA *
"""
map_dict_str = json.dumps(map_dict)
# returns Pandas DataFrame
fugue_sql(query,mapping=map_dict_str)
# returns Spark DataFrame
fugue_sql(query, mapping=map_dict_str, engine="spark")
▪Читать
▪Github
@sqlhub
👍9🔥3❤1👎1
✔ Зачем инструмент dbt нужен аналитику данных
dbt — open-source проект, который решает проблему организации данных и открывает много возможностей для их трансформации, обработкии моделирования.
dbt (Data Build Tool) — инструмент, который позволяет дата-инженерам и аналитикам автоматизировать процессы тестирования, внедрения, документирования в рамках трансформации данных. Проще говоря, dbt — это всё о букве T в акрониме ELT (Extract — Transform — Load). Этот фреймворк не выгружает данные из источников, но предоставляет огромные возможности по работе с теми данными, которые уже загружены в Хранилище (в Internal или External Storage).
dbt основан на языках SQL и Jinja, с версии 1.4.* также поддерживает Python.
Основное назначение dbt — взять код, скомпилировать его в SQL, выполнить команды в правильной последовательности в хранилище
Чем полезен фреймворк
▪Контроль качества. Для бизнеса важно получать качественные данные, а для этого, в свою очередь, нужны инструменты контроля качества. dbt как инструмент позволяет реализовать любые вариации тестирования: на этапе обновления каких-либо данных мы всегда можем собрать быструю статистику по любым метрикам.
▪Хранение данных. Даже из «коробки» этот фреймворк позволяет реализовать на уровне хранилища хранение данных с историей СКД-2 (хранения технической истории, изменение атрибутов). С ним можно выстраивать снэпшоты — детальные слои с историей данных. dbt помогает собрать любую историю данных, чтобы отвечать на вопросы аналитиков и бизнеса.
▪Связывание данных в единую цепочку. Инструмент описывает ациклические зависимости (DAG) и связи, что позволяет легко анализировать цепочку преобразований данных. Когда мы используем и переиспользуем данные, выполнение этих задач связано: если что-то где-то меняется, то сказывается на других сущностях. С помощью dbt мы решаем задачу консистентности данных — устраиваем зависимость выполнения, чтобы одна сущность была рассчитана только после другой, без задержек и потери актуальности данных. Фреймворк помогает собрать в одном месте и связать всю логику — от исходных данных до итоговых результатов и их переиспользования.
▪Перенос в другие среды. Фреймворк позволяет легко переносить и настраивать разные подходы к работе моделей в различных средах: тестовые модели, продуктовый уровень, промышленный слой.
▪Настройка дополнительных возможностей. С dbt можно вписать документацию данных и работать с ними, можно настроить логирование стандартными способами и отслеживать аналитику исполнения запросов. Всё это реализуемо, поскольку у фреймворка на основе SQL и Jinja нет ограничений, кроме возможностей самих хранилищ и уровня знаний исполнителя.
Установка
Открываем терминал.
▪Документация
▪Github
@sqlhub
dbt — open-source проект, который решает проблему организации данных и открывает много возможностей для их трансформации, обработкии моделирования.
dbt (Data Build Tool) — инструмент, который позволяет дата-инженерам и аналитикам автоматизировать процессы тестирования, внедрения, документирования в рамках трансформации данных. Проще говоря, dbt — это всё о букве T в акрониме ELT (Extract — Transform — Load). Этот фреймворк не выгружает данные из источников, но предоставляет огромные возможности по работе с теми данными, которые уже загружены в Хранилище (в Internal или External Storage).
dbt основан на языках SQL и Jinja, с версии 1.4.* также поддерживает Python.
Основное назначение dbt — взять код, скомпилировать его в SQL, выполнить команды в правильной последовательности в хранилище
Чем полезен фреймворк
▪Контроль качества. Для бизнеса важно получать качественные данные, а для этого, в свою очередь, нужны инструменты контроля качества. dbt как инструмент позволяет реализовать любые вариации тестирования: на этапе обновления каких-либо данных мы всегда можем собрать быструю статистику по любым метрикам.
▪Хранение данных. Даже из «коробки» этот фреймворк позволяет реализовать на уровне хранилища хранение данных с историей СКД-2 (хранения технической истории, изменение атрибутов). С ним можно выстраивать снэпшоты — детальные слои с историей данных. dbt помогает собрать любую историю данных, чтобы отвечать на вопросы аналитиков и бизнеса.
▪Связывание данных в единую цепочку. Инструмент описывает ациклические зависимости (DAG) и связи, что позволяет легко анализировать цепочку преобразований данных. Когда мы используем и переиспользуем данные, выполнение этих задач связано: если что-то где-то меняется, то сказывается на других сущностях. С помощью dbt мы решаем задачу консистентности данных — устраиваем зависимость выполнения, чтобы одна сущность была рассчитана только после другой, без задержек и потери актуальности данных. Фреймворк помогает собрать в одном месте и связать всю логику — от исходных данных до итоговых результатов и их переиспользования.
▪Перенос в другие среды. Фреймворк позволяет легко переносить и настраивать разные подходы к работе моделей в различных средах: тестовые модели, продуктовый уровень, промышленный слой.
▪Настройка дополнительных возможностей. С dbt можно вписать документацию данных и работать с ними, можно настроить логирование стандартными способами и отслеживать аналитику исполнения запросов. Всё это реализуемо, поскольку у фреймворка на основе SQL и Jinja нет ограничений, кроме возможностей самих хранилищ и уровня знаний исполнителя.
Установка
Открываем терминал.
Запускаем команды:
pip install dbt-core #Установка
последней версии;
pip install dbt-core==1.4.0
#Установка конкретной версии.
dbt —version #Проверка установленной
версии.
▪Документация
▪Github
@sqlhub
❤7👍5🔥2
Этот замечательный, бесплатный курс дает пошаговое введение в создание приложений для работы с данными с использованием блокнотов Python, SQL и Jupyter. Он даже включает в себя введение в визуализацию с использованием plotly и других.
👉Читать курс
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍6❤1
Тип колонки 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;
Нюанс изменения 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👍5❤2
Асинхронное варение MongoDB в Python
Интересный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.
За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.
Запись трансляции (доклад на 04:32)
#mongodb
Интересный доклад старшего разработчика компании Элитриум Даниила Неслуховского c недавней яндексовской конференции Pytup.
За эти 50 минут можно вспомнить типы БД, узнать про Object Mapping, Beanie и прочие компоненты.
Запись трансляции (доклад на 04:32)
#mongodb
👍9❤3🔥1
🔥Бесплатные сертификационные курсы для Data Science в 2023 году.
🔰 SQL
http://online.stanford.edu/courses/soe-ydatabases0005-databases-relational-databases-and-sql
🔰 Python
http://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
http://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
http://cognitiveclass.ai/courses/r-101
🔰 Tableau
http://tableau.com/learn/training
🔰 PowerBI
http://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
http://ocw.mit.edu/search/?d=Mathematics&s=department_course_numbers.sort_coursenum
🔰 Statistics
http://cognitiveclass.ai/courses/statistics-101
🔰 Data Visualization
http://pll.harvard.edu/course/data-science-visualization
🔰 Machine Learning
http://developers.google.com/machine-learning/crash-course
🔰 Deep Learning
http://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
http://pll.harvard.edu/course/data-analysis-life-sciences-2-introduction-linear-models-and-matrix-algebra
🔰 Probability
http://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
http://pll.harvard.edu/course/data-analysis-life-sciences-4-high-dimensional-data-analysis
@sqlhub
🔰 SQL
http://online.stanford.edu/courses/soe-ydatabases0005-databases-relational-databases-and-sql
🔰 Python
http://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
http://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
http://cognitiveclass.ai/courses/r-101
🔰 Tableau
http://tableau.com/learn/training
🔰 PowerBI
http://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
http://ocw.mit.edu/search/?d=Mathematics&s=department_course_numbers.sort_coursenum
🔰 Statistics
http://cognitiveclass.ai/courses/statistics-101
🔰 Data Visualization
http://pll.harvard.edu/course/data-science-visualization
🔰 Machine Learning
http://developers.google.com/machine-learning/crash-course
🔰 Deep Learning
http://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
http://pll.harvard.edu/course/data-analysis-life-sciences-2-introduction-linear-models-and-matrix-algebra
🔰 Probability
http://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
http://pll.harvard.edu/course/data-analysis-life-sciences-4-high-dimensional-data-analysis
@sqlhub
👍23❤6🔥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
Почитать:
— 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🔥3❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Удобный инструмент для просмотра и редактирования файлов базы данных(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
👍9❤3🥰1
🚀 БЕСПЛАТНЫЕ курсы и БЕСПЛАТНЫЕ сертификаты.
❯ SQL http://cognitiveclass.ai/courses/learn-sql-relational-databases
❯ MySQL https://scaler.com/topics/course/sql-using-mysql-course/
❯ PostgreSQL http://freecodecamp.org/learn/relational-database/
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥7❤2
❯ Oracle http://mygreatlearning.com/academy/learn-for-free/courses/oracle-sql
❯ Big Query http://kaggle.com/learn/intro-to-sql
❯ PostgreSQL http://simplilearn.com/free-postgresql-course-skillup
❯ SQL Projects http://mygreatlearning.com/academy/learn-for-free/courses/sql-projects-for-beginners
@sqlhub
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤4🔥1
Библиотека для работы с большими языковыми моделями для преобразования текста на естественном языке в 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