cookie

We use cookies to improve your browsing experience. By clicking «Accept all», you agree to the use of cookies.

avatar

SQLite на практике

Все о работе с данными в sqlite // antonz.ru

Show more
Advertising posts
2 169
Subscribers
No data24 hours
+17 days
+1430 days

Data loading in progress...

Subscriber growth rate

Data loading in progress...

Побег из карантина macOS и точный путь к расширению Свежий релиз sqlpkg принес две приятные фичи: — Команда install автоматически убирает расширение из карантина macOS, чтобы можно было использовать без дополнительных приседаний. — Команда which печатает точный путь к установленному расширению, чтобы было проще загрузить его в SQLite. https://github.com/nalgeon/sqlpkg-cli/releases/0.2.0
Show all...
Перенести SQLite-расширения с одной машины на другую Начиная с релиза 0.1.0, sqlpkg сохраняет информацию об установленных пакетах в специальном файле (sqlpkg.lock, он же локфайл). Используйте его, чтобы установить расширения на новой машине одной командой:
sqlpkg install
https://github.com/nalgeon/sqlpkg-cli/releases/0.1.0
Show all...
SQL-файлы в песочнице Когда я запустил Sqlime, как-то забыл поддержать загрузку из .sql файлов. Песочница умела загружать бинарные SQLite-базы из локального файла или по урлу, GitHub-гисты, но не sql-файлы. Наверно я полагал, что люди в основном будут копипастить SQL руками, так что файлы им не нужны. Возможно, не так уж и ошибался — никто не попросил эту возможность. Но все же странновато для SQL-песочницы не уметь загружать SQL-файлы. Так что теперь она умеет ツ Заодно обновил иконки. Использовал svgrepo.com — опенсорсный репозиторий иконок, очень рекомендую.
Show all...
Photo unavailableShow in Telegram
Одна из моих любимых мелких штук в Sqlime — возможность выделить и запустить фрагмент запроса. Полезно, когда «распутываешь» сложный запрос. К тому же, ее было несложно реализовать. Ах, если бы все фичи были такими 🙂
Show all...
Photo unavailableShow in Telegram
Для начала добавил в реестр те расширения, которые пробовал сам, получилось около 60 пакетов
Show all...
Реестр и менеджер пакетов для SQLite Расширений для SQLite становится все больше, и я решил, что пришло время сделать менеджер пакетов! Встречайте sqlpkg - это одновременно реестр пакетов с веб-интерфейсом и консольный менеджер пакетов. Надеюсь, вам пригодится. https://sqlpkg.org/ Реестр пакетов работает отдельно от менеджера и не требует его. Достаточно найти нужный пакет на сайте, скачать под свою ОС и загрузить стандартными средствами (.load или load_extension). А менеджер пакетов работает отдельно от реестра и тоже не требует его :) Чтобы установить пакет, достаточно указать менеджеру на файл спецификации. Его можно захостить где угодно или даже разместить локально.
Show all...
Photo unavailableShow in Telegram
Удобно отлаживать небольшие запросики, а для обучения так и вовсе незаменимая штука
Show all...
Больше функций в SQL-песочнице Sqlime — это опенсорсная SQLite-песочница в браузере. В ней всегда были стандартные функции SQLite: общего назначения, дата-время и математические. А теперь есть намного больше, от регулярных выражений и матстатистики до динамического SQL! По сути, я приделал к песочнице все свои расширения, которые до этого подключались только к «обычному» SQLite (кроме работы с файлами и юникода, который под веб не захотел компилироваться). https://sqlime.org/
Show all...
Photo unavailableShow in Telegram
sqlite3 + расширения на Python Сделал Python-пакет sqlean.py. Он полностью совместим со стандартным sqlite3, плюс добавляет множество приятных функций: — кодирование/декодирование — динамический SQL — работа с файлами — текстовые функции — IP адреса — мат. статистика — UUID — CSV https://github.com/nalgeon/sqlean.py
Show all...
Покрывающий индекс в SQL Покрывающий индекс — самый быстрый способ выбрать данные из таблицы. Например, есть запрос, который выбирает сотрудников с указанной зарплатой:
select id, name
from employees
where salary = 90;
Если нет индекса, он обходит всю таблицу (так называемый фулскан). Создадим индекс по зарплате:
create index employees_idx
on employees(salary);
Теперь тот же запрос будет находить записи по зарплате в индексе (это быстрее, чем обходить всю таблицу). И для каждой найденной записи будет обращаться к таблице, чтобы получить значения id и name. Но если создать покрывающий индекс:
create index employees_idx
on employees(salary, id, name);
То запрос будет отрабатывать только по индексу, вообще без обращения к таблице. Это еще быстрее. Покрывающие индексы дорого обходятся при изменении данных в таблице, поэтому на каждый вид запросов их создавать не стоит. Чаще это одно из последних средств оптимизации, когда все остальное уже сделали.
Show all...
Choose a Different Plan

Your current plan allows analytics for only 5 channels. To get more, please choose a different plan.