0Pricing
MCP Academy · Урок

Безопасное предоставление SQL-запросов

Предоставьте доступ к чтению базы данных без риска инъекций.

«Безопасное предоставление SQL-запросов» — бесплатный урок MCP Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MCP Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MCP Academy содержит 4 уроков всего.

Части этого урока еще не переведены и отображаются на английском.

Databases Behind a Tool

An MCP server can give a model real data by wrapping a database behind a tool, so the AI asks questions instead of touching raw tables. 🗄️

Reads, Not Writes

For safety, start by exposing only read access. Let the model query and report, but keep inserts, updates, and deletes off the table.

The Injection Danger

Never paste model text straight into SQL. That invites SQL injection, where crafted input rewrites your query and leaks or destroys data.

query = "SELECT * FROM users WHERE id = " + user_input  # unsafe!

Use Parameterized Queries

The fix is parameterized queries: you write placeholders and the driver binds values safely, so input can never change the query shape.

cur.execute("SELECT * FROM users WHERE id = ?", (user_id,))

Take Values as Arguments

Let the model pass values as typed arguments, then you build the query. The model supplies data, never the SQL text itself.

@mcp.tool()
def find_user(user_id: int) -> str:
    ...

Pin the Query Shape

Keep the SQL fixed in your code and only slot in bound parameters. A locked query shape is the simplest way to stay safe.

Use a Read-Only Role

Defense in depth: connect with a database read-only user. Even a buggy tool then physically cannot modify or drop your data.

Bound the Result Size

Always cap rows with a LIMIT so one broad query cannot dump a huge table into the model and blow your token budget.

cur.execute("SELECT name FROM users LIMIT 50")

Whitelist Allowed Tables

If the model picks a table, validate it against an allowlist. Reject anything not on the list instead of trusting the name.

Return Tidy Rows

Format results as clean text or simple records so the model reads them easily. Clarity in, clarity out for the next reasoning step.

Hide Sensitive Columns

Select only the columns the task needs. Leaving out secrets like password hashes keeps private data out of the model entirely.

Quick Check

What protects a SQL tool from injection?

Recap: Safe SQL

You exposed a database safely: parameterized read-only queries, allowlisted tables, and row limits. Next, wrap a web API. 🎯

Часто задаваемые вопросы

Урок «Безопасное предоставление SQL-запросов» бесплатный?

Да — полный текст урока «Безопасное предоставление SQL-запросов» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MCP Academy, подпишись на CoddyKit PRO. Курс MCP Academy содержит 4 уроков всего.

Чему я научусь в уроке «Безопасное предоставление SQL-запросов»?

Предоставьте доступ к чтению базы данных без риска инъекций. Ты практикуешь MCP Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MCP Academy?

Предыдущий опыт не требуется. MCP Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.

Сколько времени занимает урок «Безопасное предоставление SQL-запросов»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MCP Academy?

Да. Каждый урок MCP Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Безопасное предоставление SQL-запросов
  2. Преобразование REST API в инструменты
  3. Пулы соединений в течение времени жизни
  4. Кэширование и ограничение частоты для вышестоящих сервисов
← Назад к MCP Academy