# Como gerenciar um banco de dados SQL Database

import DocButton from '~/components/webkit/DocButton.vue';
import Tag from '~/components/webkit/Tag.vue'




O **SQL Database** permite que você crie e gerencie bancos de dados relacionais. Este guia cobre como criar, listar e excluir um banco de dados usando a [API da Azion](https://api.azion.com).

Após criar um banco de dados, leia [Como criar e consultar dados no SQL Database](/pt-br/documentacao/produtos/guias/criar-tabelas-edge-sql/) para popular seu banco de dados.

<DocButton href="/pt-br/documentacao/produtos/store/sql-database/" label="saiba mais sobre o SQL Database" kind="secondary" size="medium" />

---

## Crie um banco de dados

Execute a seguinte requisição `POST` no seu terminal, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/) e `name` pelo nome do banco de dados desejado para criar um novo banco de dados:

```bash
curl --location 'https://api.azion.com/v4/edge_sql/databases' \
--header 'Authorization: Token [TOKEN VALUE]' \
--header 'Content-Type: application/json' \
--data '{
   "name": "meu-banco-de-dados"
}'
```

Você deve receber a seguinte resposta:

```json
{
  "state": "pending",
  "data": {
    "id": 118,
    "name": "meu-banco-de-dados",
    "client_id": "6832h",
    "status": "creating",
    "created_at": "2024-04-18T11:22:59.468536Z",
    "updated_at": "2024-04-18T11:22:59.468586Z",
    "deleted_at": null
  }
}
```

:::note[nota]
A criação de um banco de dados não é instantânea. Você pode enviar requisições `GET` para verificar quando o parâmetro `status` mudar para `created`, significando que você já pode usar o banco de dados.
:::
---

## Liste todos os bancos de dados

Execute a seguinte requisição `GET` no seu terminal, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/):

```bash
curl --location 'https://api.azion.com/v4/edge_sql/databases' \
--header 'Authorization: Token [TOKEN VALUE]'
```

Você deve receber a seguinte resposta:

```json
{
  "count": 1,
  "links": {
    "first": null,
    "last": null,
    "next": null,
    "prev": null
  },
  "results": [
    {
      "id": 118,
      "name": "meu-banco-de-dados",
      "client_id": "6832h",
      "status": "created",
      "created_at": "2024-04-15T15:15:10.200345Z",
      "updated_at": "2024-04-15T15:15:47.332481Z",
      "deleted_at": null
    }
  ]
}
```

Este endpoint lista todos os bancos de dados criados na sua conta.

---

## Liste um banco de dados específico

Execute a seguinte requisição `GET` no seu terminal, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/) e `{id_database}` pelo `id` específico do banco de dados que você obteve na [requisição GET all](#liste-todos-os-bancos-de-dados):

```bash
curl --location 'https://api.azion.com/v4/edge_sql/databases/{id_database}' \
--header 'Authorization: Token [TOKEN VALUE]
```

Você deve receber a seguinte resposta:

```json
{
  "data": {
    "id": 118,
    "name": "meu-banco-de-dados",
    "client_id": "6832h",
    "status": "created",
    "created_at": "2024-04-18T11:22:59.468536Z",
    "updated_at": "2024-04-18T11:23:18.492883Z",
    "deleted_at": null
  }
}
```

Este endpoint lista apenas as informações referentes ao banco de dados específico cujo ID você forneceu.

---

## Exclua um banco de dados

Execute a seguinte requisição `DELETE` no seu terminal, substituindo `[TOKEN VALUE]` pelo seu [personal token](/pt-br/documentacao/produtos/guias/personal-tokens/) e `{id_database}` pelo ID do banco de dados que você deseja excluir:

```bash
curl --location --request DELETE 'https://api.azion.com/v4/edge_sql/databases/{id_database}' \
--header 'Authorization: Token [TOKEN VALUE]'
```

:::note
Esta ação é definitiva, mas possui um tempo de propagação. Após deletar um banco de dados, você não poderá recuperar as informações dele.
:::