Compétences query-builder
🗃️

query-builder

Sûr 🌐 Accès réseau⚙️ Commandes externes

Создание оптимизированных запросов к базе данных

Написание эффективных запросов к базе данных требует глубоких знаний SQL и NoSQL паттернов. Этот навык генерирует оптимизированные запросы с правильной параметризацией и объясняет стратегии выполнения для повышения производительности.

Prend en charge: Claude Codex Code(CC)
⚠️ 68 Médiocre
1

Télécharger le ZIP du skill

2

Importer dans Claude

Allez dans Paramètres → Capacités → Skills → Importer un skill

3

Activez et commencez à utiliser

Tester

Utilisation de "query-builder". Получить все продукты с названием их категории, где продукт в наличии

Résultat attendu:

  • SELECT p.id, p.name, p.price, c.name as category_name
  • FROM products p
  • INNER JOIN categories c ON p.category_id = c.id
  • WHERE p.stock_count > 0 AND p.active = true
  • ORDER BY p.name ASC

Utilisation de "query-builder". Создать агрегацию MongoDB для расчёта дневной выручки за последние 7 дней

Résultat attendu:

  • db.orders.aggregate([
  • { $match: { status: 'completed', createdAt: { $gte: 7 days ago } } },
  • { $group: { _id: { $dateToString: { format: '%Y-%m-%d', date: '$createdAt' } }, dailyRevenue: { $sum: '$totalAmount' }, orderCount: { $sum: 1 } } },
  • { $sort: { _id: -1 } }
  • ])

Utilisation de "query-builder". Написать TypeORM-запрос для поиска пользователей со статистикой их заказов

Résultat attendu:

  • const stats = await dataSource.getRepository(User)
  • .createQueryBuilder('user')
  • .leftJoin('user.orders', 'order')
  • .select('user.id', 'userId')
  • .addSelect('user.username', 'username')
  • .addSelect('COUNT(order.id)', 'orderCount')
  • .addSelect('COALESCE(SUM(order.totalAmount), 0)', 'totalSpent')
  • .groupBy('user.id')
  • .getRawMany();

Score de qualité

38
Architecture
100
Maintenabilité
85
Contenu
21
Communauté
100
Sécurité
78
Conformité aux spécifications

Ce que vous pouvez construire

Написание сложных JOIN-запросов

Генерирование многотабличных объединений с правильной фильтрацией и агрегацией для функций отчетности

Создание агрегационных конвейеров

Построение агрегационных конвейеров MongoDB и оконных функций для аналитики и преобразования данных

Генерация ORM-запросов

Создание типобезопасных запросов к базе данных с использованием Prisma, TypeORM или Mongoose с правильными связями

Essayez ces prompts

Базовый запрос
Получить всех активных пользователей с их адресами электронной почты, созданных за последние 30 дней
JOIN-запросы
Получить пользователей с их заказами, включая позиции заказов и информацию о продуктах для выполненных заказов
ORM-запросы
Написать Prisma-запрос для поиска топ-10 клиентов по общим тратам с количеством их заказов
Оптимизация запросов
Оптимизировать этот запрос: SELECT * FROM orders WHERE YEAR(created_at) = 2024 AND status = 'active'

Bonnes pratiques

  • Всегда используйте параметризованные запросы с плейсхолдерами типа $1 или ? вместо строковой интерполяции
  • Указывайте только нужные столбцы вместо использования SELECT *
  • Добавляйте соответствующие индексы на столбцы, используемые в WHERE, JOIN и ORDER BY

Éviter

  • Использование конкатенации строк для построения запросов — это создаёт уязвимости к SQL-инъекциям
  • Выполнение запросов без LIMIT в продакшене — всегда разбивайте большие наборы результатов на страницы
  • Использование функций над индексированными столбцами в WHERE — это предотвращает использование индексов

Foire aux questions

Какие базы данных поддерживаются?
Поддерживает PostgreSQL, MySQL, SQLite, SQL Server, MongoDB, DynamoDB, Redis и Cassandra с соответствующим синтаксисом запросов.
Какие ORM работают с этим навыком?
Prisma, TypeORM, Sequelize, SQLAlchemy, Django ORM и Mongoose полностью поддерживаются с примерами паттернов.
Выполняет ли этот навык запросы?
Нет. Этот навык генерирует примеры запросов. Вы должны скопировать и выполнить запросы в своей собственной среде базы данных.
Безопасны ли мои данные при использовании этого навыка?
Да. Навык только генерирует текст — он не может получить доступ к вашим базам данных, учётным данным или системным ресурсам.
Как получить лучшие предложения по запросам?
Предоставьте названия таблиц, столбцы и связи. Включите любые конкретные фильтры или требования к сортировке для оптимальных результатов.
Чем это отличается от генерации чистого SQL?
Навык предоставляет как чистый SQL, так и ORM альтернативы. ORM версии интегрируются напрямую с вашим кодом с использованием существующих моделей.

Détails du développeur

Structure de fichiers

📄 SKILL.md