Найти в Дзене
11,6 тыс подписчиков

🖥 Выполнение SQL непосредственно в Jupyter Notebook с помощью IPython-SQL


IPython-SQL – это мощный инструмент, позволяющий легко интегрировать язык SQL (Structured Query Language) в среду IPython или Jupyter Notebook. Такая интеграция позволяет выполнять SQL-запросы и взаимодействовать с базами данных, используя при этом интерактивные возможности IPython. В этом руководстве мы рассмотрим установку, настройку и базовое использование IPython-SQL.

✔️ Установка

pip install ipython-sql

✔️ Подключение к базе данных

Для подключения к базе данных сначала необходимо загрузить расширение IPython-SQL, а затем с помощью магической команды %sql задать строку подключения к базе данных. Синтаксис команды следующий:
%load_ext sql
%sql dialect+driver://username:password@host:port/database

Например, для подключения к базе данных SQLite с именем example.db, расположенной в текущем каталоге, используйте:
%load_ext sql
%sql sqlite:///example.db

Замените dialect+driver на соответствующий диалект и драйвер базы данных (например, mysql, postgresql, sqlite и т.д.), а также укажите необходимую информацию об аутентификации и подключении.

✔️ Выполнение SQL-запросов

После подключения к базе данных можно выполнять SQL-запросы с помощью команды %sql magic, за которой следует сам SQL-запрос. Запросы могут состоять из нескольких строк для улучшения читаемости. Вот пример:
%sql SELECT * FROM employees WHERE department = 'HR';

✔️ Доступ к результатам запросов

IPython-SQL предоставляет различные способы доступа к результатам запросов. По умолчанию результаты запроса возвращаются в виде Pandas DataFrame, что облегчает работу с данными и их анализ. Чтобы присвоить результаты запроса переменной, используйте флаг -o, за которым следует имя переменной:
result = %sql -o SELECT * FROM products;

Также можно получить прямой доступ к результатам запроса, используя переменную _:
result = %sql SELECT * FROM orders;
print(_.head()) # Display the first few rows of the result

✔️ Магические команды

IPython-SQL предлагает дополнительные магические команды для улучшения взаимодействия с базами данных:

▪️%config SqlMagic.autocommit: Включает или отключает режим автокоммита для транзакций.
▪️%config SqlMagic.displaylimit: установка максимального количества строк для отображения в результатах запроса.
▪️%%sql: Использование двойных знаков процента для выполнения многострочных SQL-запросов.

Рассмотрим пример использования магической команды %%sql для многострочных запросов:
%%sql
SELECT department, AVG(salary) as avg_salary
FROM employees
GROUP BY department
ORDER BY avg_salary DESC;

✔️ Расширенное использование


2 минуты
797 читали