Skip to content

Работа с СУБД

На этой странице собраны практические сценарии работы с источниками данных из ноутбука.

Когда использовать

  • нужно выполнить SQL к подключенной СУБД;
  • нужно быстро проверить выборку перед дальнейшей обработкой;
  • нужно явно контролировать, к какому источнику уходит запрос.

SQL-ячейки

sql-ячейки подходят для быстрых запросов к выбранному подключению. Это хороший вариант для проверки SQL и первичной диагностики данных. Для отправки запроса необходимо выбрать подключение к БД в селекторе ячейки.

Python + sq.query

В Python-ячейках используйте:

df = await sq.query("select now() as ts")
df.head()

sq.query выполняет SQL на сервере и возвращает pandas.DataFrame.

Аргументы подключения: connection_name и connection_id

Сигнатура метода:

await sq.query(sql, connection_name=None, connection_id=None)
  • Всегда вызывайте метод с await;
  • connection_name или connection_id позволяют выбрать к какой БД произойдет обращение;
  • передавать оба аргумента одновременно нельзя;
  • если оба аргумента не переданы, используется активное подключение ячейки.

Пример с явным подключением:

df = await sq.query(
"select count(*) as cnt from analytics.orders",
connection_name="prod_clickhouse"
)

DuckDB-ячейки

duckdb-ячейки подходят для локальных SQL-операций в браузерной WASM-сессии.

Когда это удобно:

  • быстро проверить идею без обращения к внешней СУБД;
  • сделать промежуточные преобразования перед Python-обработкой;
  • работать с локальными файлами через SQL.

Пример:

select *
from read_csv_auto('sales.csv')
limit 100

Важно учитывать: состояние DuckDB-сессии живет в рамках текущей вкладки браузера.