# SQLite (/database/providers/sqlite/overview)



`SqliteDb` stores Agent, Team, and Workflow sessions, memories, knowledge, evaluations, and traces in [SQLite](https://www.sqlite.org).

## Usage [#usage]

Start in a [virtual environment](/sdk/setup).

Install Agno with the `sqlalchemy` and `openai` packages:

```shell
uv pip install agno sqlalchemy openai
```

```python title="sqlite_for_agent.py"
from agno.agent import Agent
from agno.db.sqlite import SqliteDb

db = SqliteDb(db_file="tmp/data.db")
agent = Agent(db=db)
```

## Parameters [#parameters]

| Parameter                        | Type               | Default | Description                                                                                                                  |
| -------------------------------- | ------------------ | ------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `id`                             | `Optional[str]`    | `None`  | Database ID. Generated when omitted.                                                                                         |
| `db_engine`                      | `Optional[Engine]` | `None`  | SQLAlchemy database engine. Takes precedence over `db_url` and `db_file`.                                                    |
| `db_url`                         | `Optional[str]`    | `None`  | Database URL. Used when `db_engine` is omitted.                                                                              |
| `db_file`                        | `Optional[str]`    | `None`  | Database file. Creates `./agno.db` when no connection option is provided.                                                    |
| `session_table`                  | `Optional[str]`    | `None`  | Table for Agent, Team, and Workflow sessions. Uses `"agno_sessions"` when omitted.                                           |
| `runs_table`                     | `Optional[str]`    | `None`  | Storage name for individual runs. Defaults to `agno_runs`, or `<session_table>_runs` when a custom session name is supplied. |
| `memory_table`                   | `Optional[str]`    | `None`  | Table for user memories. Uses `"agno_memories"` when omitted.                                                                |
| `metrics_table`                  | `Optional[str]`    | `None`  | Table for metrics. Uses `"agno_metrics"` when omitted.                                                                       |
| `eval_table`                     | `Optional[str]`    | `None`  | Table for evaluation run data. Uses `"agno_eval_runs"` when omitted.                                                         |
| `knowledge_table`                | `Optional[str]`    | `None`  | Table for knowledge documents. Uses `"agno_knowledge"` when omitted.                                                         |
| `traces_table`                   | `Optional[str]`    | `None`  | Table for traces. Uses `"agno_traces"` when omitted.                                                                         |
| `spans_table`                    | `Optional[str]`    | `None`  | Table for spans. Uses `"agno_spans"` when omitted.                                                                           |
| `versions_table`                 | `Optional[str]`    | `None`  | Table for schema versions. Uses `"agno_schema_versions"` when omitted.                                                       |
| `components_table`               | `Optional[str]`    | `None`  | Table for components. Uses `"agno_components"` when omitted.                                                                 |
| `component_configs_table`        | `Optional[str]`    | `None`  | Table for component configurations. Uses `"agno_component_configs"` when omitted.                                            |
| `component_links_table`          | `Optional[str]`    | `None`  | Table for component links. Uses `"agno_component_links"` when omitted.                                                       |
| `learnings_table`                | `Optional[str]`    | `None`  | Table for learnings. Uses `"agno_learnings"` when omitted.                                                                   |
| `schedules_table`                | `Optional[str]`    | `None`  | Table for cron schedules. Uses `"agno_schedules"` when omitted.                                                              |
| `schedule_runs_table`            | `Optional[str]`    | `None`  | Table for schedule run history. Uses `"agno_schedule_runs"` when omitted.                                                    |
| `approvals_table`                | `Optional[str]`    | `None`  | Table for human approval requests. Uses `"agno_approvals"` when omitted.                                                     |
| `auth_tokens_table`              | `Optional[str]`    | `None`  | Table for OAuth tokens. Uses `"agno_auth_tokens"` when omitted.                                                              |
| `service_accounts_table`         | `Optional[str]`    | `None`  | Table for service accounts. Uses `"agno_service_accounts"` when omitted.                                                     |
| `mcp_oauth_clients_table`        | `Optional[str]`    | `None`  | Table for MCP OAuth client registrations. Uses `"agno_mcp_oauth_clients"` when omitted.                                      |
| `mcp_oauth_transactions_table`   | `Optional[str]`    | `None`  | Table for MCP OAuth transactions. Uses `"agno_mcp_oauth_transactions"` when omitted.                                         |
| `mcp_oauth_codes_table`          | `Optional[str]`    | `None`  | Table for MCP OAuth authorization codes. Uses `"agno_mcp_oauth_codes"` when omitted.                                         |
| `mcp_oauth_refresh_tokens_table` | `Optional[str]`    | `None`  | Table for MCP OAuth refresh tokens. Uses `"agno_mcp_oauth_refresh_tokens"` when omitted.                                     |
| `mcp_oauth_keys_table`           | `Optional[str]`    | `None`  | Table for MCP OAuth signing keys. Uses `"agno_mcp_oauth_keys"` when omitted.                                                 |
