---
title: MindsDB Schema
sidebarTitle: MindsDB Schema
---

Initially, MindsDB comprises three system databases and one default project, as follows:

- `information_schema` stores metadata of all the objects such as handlers, databases, AI engines, models, jobs, and more.
- `log` stores log data of models and jobs.
- `files`, which is initially empty, stores all files uploaded to MindsDB.
- `mindsdb` is the default project for storing models, views, jobs, triggers, and agents.

List all databases by running the following SQL commands:

```sql
SHOW [FULL] DATABASES;
```

Here is the output:

```sql
+----------------------+---------+--------+
| Database             | TYPE    | ENGINE |
+----------------------+---------+--------+
| information_schema   | system  | [NULL] |
| log                  | system  | [NULL] |
| mindsdb              | project | [NULL] |
| files                | data    | files  |
+----------------------+---------+--------+
```

## The `information_schema` Database

The `information_schema` database contains all the system tables that correspond to MindsDB objects as follows:

| Name              | Description                                                                                                                           |
|-------------------|---------------------------------------------------------------------------------------------------------------------------------------|
| `HANDLERS`        | Stores all (data and AI) handlers, which are [data integrations](/integrations/data-overview) and [AI integrations](/integrations/ai-overview) supported by MindsDB.         |
| `DATABASES`       | Stores all data sources connected to MindsDB. Note that corresponding handlers are required, and you can connect only the [data sources supported by MindsDB](/integrations/data-overview) after [installing the required handler dependencies](/setup/self-hosted/docker#install-dependencies). |
| `ML_ENGINES`      | Stores all AI/ML engines configured at MindsDB. Note that corresponding handlers are required, and you can connect only the [AI/ML engines supported by MindsDB](/integrations/ai-overview) after [installing the required handler dependencies](/setup/self-hosted/docker#install-dependencies).  |
| `MODELS`          | Stores all models deployed within the MindsDB ecosystem. Note that you can create and deploy a model only after configuring the corresponding AI/ML engine.                  |
| `VIEWS`           | Stores all views created in MindsDB.                                                                                                  |
| `JOBS`            | Stores all [jobs](/mindsdb_sql/sql/create/jobs) that facilitate workflow automation.                                                  |
| `TRIGGERS`        | Stores all [triggers](/mindsdb_sql/sql/create/trigger) that facilitate workflow automation.                                            |
| `AGENTS`          | Stores all [AI agents](/mindsdb_sql/agents/agent) created in MindsDB.                                                                 |
| `SKILLS`          | Stores all skills that can be assigned to [AI agents](/mindsdb_sql/agents/agent).                                                                                  |
| `KNOWLEDGE_BASES` | Stores all [knowledge bases](/mindsdb_sql/agents/knowledge-bases) that can be assigned to AI agents as skills.                        |
| `CHATBOTS`        | Stores all [chatbots](/mindsdb_sql/agents/chatbot) that comprise an AI agent and a chat interface.                                     |

<Tip>
Some of the objects, including `DATABASES`, `ML_ENGINES`, and `MODELS`, may contain sensitive information in the form of API keys or passwords. MindsDB hides this sensitive information by default.

If you want to expose this sensitive information in the output when querying these objects, set the `show_secrets` flag to `true`.

```sql
SET SHOW_SECRETS = TRUE;
```

And to hide them back, set it to `false`.

```sql
SET SHOW_SECRETS = FALSE;
```
</Tip>

Use the `SHOW` command to list all objects as follows:

```sql
SHOW object_name
[FROM project_name]
[LIKE 'object_name_part%']
[WHERE key = value];
```

For instance, list all OpenAI models from the `mindsdb` project that contain `ai` in its name.

```sql
SHOW MODELS
FROM mindsdb
LIKE '%ai%'
WHERE engine = 'openai';
```

Another example of how to query for the available data and AI handlers:

```sql
SHOW HANDLERS
WHERE type = 'data';

SHOW HANDLERS
WHERE type = 'ml';
```

<Tip>
Before you can connect a data source using a data handler or create a model using an AI handler, make sure that the `IMPORT_SUCCESS` column reads *true*. If it reads *false*, then [install the dependencies for this handler](/setup/self-hosted/docker#install-dependencies) before using it.
</Tip>

## The `mindsdb` Project

MindsDB enables you to group all objects within [projects](/sql/project). Projects can store models, views, jobs, triggers, agents, skills, knowledge bases, and chatbots.

<Note>
Projects store all objects except for handlers, connected data sources, and configured AI/ML engines.

Note that based on the available handlers, you can connect a data source to MindsDB or configure an AI/ML engine within MindsDB. Having done that, you can, for instance, create a view with data from the connected data source and store it inside the project, or create a model based on the configured AI/ML engine and store it inside the project.
</Note>

MindsDB provides the default `mindsdb` project where all objects created without defining a project are stored.

Learn more about how to create and manage [projects here](/sql/project).

## The `files` Database

It is another default database that stores all the files uploaded to MindsDB.

Here is how you can [upload files to MindsDB](/sql/create/file/).
