sqlite-examples.md•6.86 kB
# Примеры SQLite
*[English](../../en/examples/sqlite-examples.md) | [中文](../../zh/examples/sqlite-examples.md) | [Français](../../fr/examples/sqlite-examples.md) | [Español](../../es/examples/sqlite-examples.md) | [العربية](../../ar/examples/sqlite-examples.md) | Русский*
Этот документ предоставляет практические примеры работы с базами данных SQLite с использованием MCP Database Utilities.
## Базовая конфигурация
```yaml
connections:
my-sqlite:
type: sqlite
path: /path/to/database.db
```
## Распространенные операции
### Перечисление таблиц
**Вы**: "Перечислите все таблицы в моей базе данных SQLite."
**ИИ**: "Вот таблицы в вашей базе данных SQLite:
- пользователи
- продукты
- заказы
- категории"
### Просмотр структуры таблицы
**Вы**: "Покажите мне структуру таблицы пользователей."
**ИИ**: "Таблица пользователей имеет следующую структуру:
- id (INTEGER, PRIMARY KEY)
- username (TEXT, NOT NULL)
- email (TEXT, NOT NULL, UNIQUE)
- created_at (TIMESTAMP)
- last_login (TIMESTAMP)
- status (TEXT)"
### Базовый запрос
**Вы**: "Покажите мне топ-5 пользователей по дате последнего входа."
**ИИ**: "Вот топ-5 пользователей по дате последнего входа:
| id | username | email | last_login |
|----|----------|-------|------------|
| 42 | johndoe | john@example.com | 2023-11-25 14:32:15 |
| 17 | janedoe | jane@example.com | 2023-11-24 09:45:22 |
| 31 | bobsmith | bob@example.com | 2023-11-23 18:12:05 |
| 8 | alicejones | alice@example.com | 2023-11-22 11:30:47 |
| 53 | mikebrown | mike@example.com | 2023-11-21 16:08:33 |"
## Продвинутые запросы
### Объединение таблиц
**Вы**: "Покажите мне последние 3 заказа с информацией о пользователе."
**ИИ**: "Вот последние 3 заказа с информацией о пользователе:
| order_id | order_date | username | email | total_amount |
|----------|------------|----------|-------|--------------|
| 1042 | 2023-11-25 | johndoe | john@example.com | $125.99 |
| 1041 | 2023-11-24 | alicejones | alice@example.com | $89.50 |
| 1040 | 2023-11-23 | bobsmith | bob@example.com | $212.75 |"
### Функции агрегации
**Вы**: "Какова средняя сумма заказа по категории?"
**ИИ**: "Вот средняя сумма заказа по категории:
| категория | средняя_сумма |
|----------|----------------|
| Электроника | $245.75 |
| Одежда | $78.30 |
| Книги | $32.50 |
| Дом и кухня | $124.90 |
| Спорт и отдых | $156.25 |"
## Анализ производительности
### План выполнения запроса
**Вы**: "Объясните план выполнения для: SELECT * FROM orders WHERE user_id = 42"
**ИИ**: "План выполнения для запроса:
```
QUERY PLAN
------------------------------------------------------------
SEARCH TABLE orders USING INDEX idx_user_id (user_id=?)
```
Этот запрос использует индекс `idx_user_id` для эффективного поиска заказов для user_id 42."
### Статистика таблицы
**Вы**: "Получите статистику для таблицы заказов."
**ИИ**: "Статистика для таблицы заказов:
- Количество строк: 1,245
- Размер: 2.3 МБ
- Индексы: 3 (первичный ключ, idx_user_id, idx_order_date)
- Средняя длина строки: 1.9 КБ"
## Работа с особенностями SQLite
### Использование FTS (Полнотекстовый поиск)
**Вы**: "Найдите продукты, содержащие 'беспроводные наушники'."
**ИИ**: "Вот продукты, соответствующие 'беспроводные наушники':
| product_id | название | описание | цена |
|------------|------|-------------|-------|
| 123 | Премиум Беспроводные Наушники | Беспроводные наушники с шумоподавлением и 30 часами работы от батареи | $199.99 |
| 145 | Спортивные Беспроводные Наушники | Водонепроницаемые беспроводные наушники для спорта | $89.99 |
| 187 | Бюджетные Беспроводные Наушники | Доступные беспроводные наушники с хорошим качеством звука | $49.99 |"
### Использование функций JSON
**Вы**: "Покажите мне пользователей с 'premium' в их предпочтениях."
**ИИ**: "Вот пользователи с 'premium' в их предпочтениях:
| id | username | предпочтения |
|----|----------|-------------|
| 42 | johndoe | {\"subscription\": \"premium\", \"theme\": \"dark\"} |
| 17 | janedoe | {\"subscription\": \"premium\", \"theme\": \"light\"} |
| 53 | mikebrown | {\"subscription\": \"premium\", \"theme\": \"auto\"} |"
## Устранение неполадок
### Распространенные проблемы
1. **Файл не найден**
- Убедитесь, что путь к вашему файлу базы данных SQLite правильный
- Проверьте разрешения файла
- Убедитесь, что файл существует
2. **База данных заблокирована**
- SQLite позволяет только одному писателю за раз
- Убедитесь, что никакой другой процесс не пишет в базу данных
- Рассмотрите использование режима WAL для лучшей конкурентности
3. **Проблемы с производительностью**
- Добавьте индексы для часто запрашиваемых столбцов
- Используйте EXPLAIN QUERY PLAN для выявления медленных запросов
- Рассмотрите использование подготовленных операторов для повторяющихся запросов