Установка скиллов и плагинов OpenClaw осуществляется на ваш страх и риск. Все файлы были получены из открытых источников и предоставляются «как есть». Мы не гарантируем их корректную работу, безопасность или совместимость с вашей системой. Перед установкой настоятельно рекомендуется ознакомиться с содержимым кода и убедиться, что вы понимаете, какие изменения будут внесены в вашу систему.
SQL Toolkit — это инструмент для работы с реляционными базами данных напрямую из командной строки. Он охватывает SQLite, PostgreSQL и MySQL, предлагая проверенные подходы к проектированию схем, написанию запросов, миграциям, индексированию и операционным задачам. :
Когда использовать
- Создание или изменение схем баз данных
- Написание сложных SQL-запросов (JOIN, агрегаты, оконные функции, CTE)
- Создание миграций
- Оптимизация медленных запросов с помощью индексов и EXPLAIN
- Резервное копирование и восстановление данных
- Быстрое исследование данных через SQLite без настройки
SQLite (без настройки)
SQLite поставляется вместе с Python и доступен практически на любой системе. Отлично подходит для локальных данных, прототипирования и хранения данных в одном файле.
Быстрый старт
# Создать или открыть базу данных
sqlite3 mydb.sqlite
# Импорт CSV напрямую
sqlite3 mydb.sqlite ".mode csv" ".import data.csv mytable" "SELECT COUNT(*) FROM mytable;"
# Однострочные запросы
sqlite3 mydb.sqlite "SELECT * FROM users WHERE created_at > '2026-01-01' LIMIT 10;"
# Экспорт в CSV
sqlite3 -header -csv mydb.sqlite "SELECT * FROM orders;" > orders.csv
# Интерактивный режим с заголовками и колонками
sqlite3 -header -column mydb.sqlite
Операции со схемой
-- Создание таблицы
CREATE TABLE users (
id INTEGER PRIMARY KEY AUTOINCREMENT,
email TEXT NOT NULL UNIQUE,
name TEXT NOT NULL,
created_at TEXT DEFAULT (datetime('now')),
updated_at TEXT DEFAULT (datetime('now'))
);
-- Таблица с внешним ключом
CREATE TABLE orders (
id INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE,
total REAL NOT NULL CHECK(total >= 0),
status TEXT NOT NULL DEFAULT 'pending' CHECK(status IN ('pending','paid','shipped','cancelled')),
created_at TEXT DEFAULT (datetime('now'))
);
-- Добавление колонки
ALTER TABLE users ADD COLUMN phone TEXT;
-- Индексы
CREATE INDEX idx_orders_user_id ON orders(user_id);
CREATE UNIQUE INDEX idx_users_email ON users(email);
PostgreSQL
# Подключение
psql -h localhost -U myuser -d mydb
# Строка подключения
psql "postgresql://user:pass@localhost:5432/mydb?sslmode=require"
# Выполнение запроса
psql -h localhost -U myuser -d mydb -c "SELECT NOW();"
# Выполнение SQL-файла
psql -h localhost -U myuser -d mydb -f migration.sql
# Список баз данных
psql -l
Паттерны проектирования схем
-- Использование UUID для распределённых систем
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
CREATE TABLE users (
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
email TEXT NOT NULL,
name TEXT NOT NULL,
password_hash TEXT NOT NULL,
role TEXT NOT NULL DEFAULT 'user'
);
Toolkit позволяет работать с базами данных без использования ORM, обеспечивая полный контроль над структурой данных и SQL-запросами. Это делает его особенно полезным для разработчиков, которым важны производительность, прозрачность и гибкость.
Файл из источника