Скиллы Новичок Исследования и аналитика

SQL Toolkit

Скачать ZIP
12
Предупреждение о рисках!

Установка скиллов и плагинов 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-запросами. Это делает его особенно полезным для разработчиков, которым важны производительность, прозрачность и гибкость.


Файл из источника

11769_sql-toolkit-1.0.0.zip