# Примеры 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 для выявления медленных запросов
   - Рассмотрите использование подготовленных операторов для повторяющихся запросов
