query-builder
Создание оптимизированных запросов к базе данных
Написание эффективных запросов к базе данных требует глубоких знаний SQL и NoSQL паттернов. Этот навык генерирует оптимизированные запросы с правильной параметризацией и объясняет стратегии выполнения для повышения производительности.
Télécharger le ZIP du skill
Importer dans Claude
Allez dans Paramètres → Capacités → Skills → Importer un skill
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();
Audit de sécurité
SûrPure prompt-based skill containing only markdown documentation and query examples. No executable code, network calls, or filesystem access. The skill provides AI guidance for generating database queries. All 116 static findings are false positives from SQL syntax and markdown formatting misidentification.
Facteurs de risque
🌐 Accès réseau (1)
⚙️ Commandes externes (42)
Score de qualité
Ce que vous pouvez construire
Написание сложных JOIN-запросов
Генерирование многотабличных объединений с правильной фильтрацией и агрегацией для функций отчетности
Создание агрегационных конвейеров
Построение агрегационных конвейеров MongoDB и оконных функций для аналитики и преобразования данных
Генерация ORM-запросов
Создание типобезопасных запросов к базе данных с использованием Prisma, TypeORM или Mongoose с правильными связями
Essayez ces prompts
Получить всех активных пользователей с их адресами электронной почты, созданных за последние 30 дней
Получить пользователей с их заказами, включая позиции заказов и информацию о продуктах для выполненных заказов
Написать 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 — это предотвращает использование индексов