# MariaDB CREATE TABLE: Como criar tabela no MariaDB

No MariaDB, `CREATE TABLE` é usado para criar novas tabelas. Como essas tabelas devem ser únicas dentro do banco de dados, existem as opções `OR REPLACE` e `IF NOT EXISTS`, que ajudam a evitar duplicações e mensagens de erro.

## O que é MariaDB `CREATE TABLE`?

O comando do MariaDB, `CREATE TABLE`, é utilizado para **criar uma nova tabela**, que pode ser posteriormente preenchida com dados. Como o MariaDB é um sistema de gerenciamento de banco de dados relacional (DBMS), essas tabelas servem como base para todas as operações de armazenamento. Durante a criação, as colunas individuais já são definidas, estabelecendo quais tipos de dados são permitidos em cada uma. As tabelas são únicas dentro de um banco de dados recém-criado – [MariaDB `CREATE DATABASE`](https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/mariadb-create-database/) – de modo que uma mensagem de erro será exibida se uma tabela com o mesmo nome já existir. Nos parágrafos a seguir, veja como usar, no MariaDB, `CREATE TABLE` e quais especificações podem ser utilizadas.

## Sintaxe e funcionamento do comando MariaDB `CREATE TABLE`

A sintaxe geral do MariaDB `CREATE TABLE` segue sempre este princípio:

```sql
CREATE TABLE Nome_da_Tabela(
Nome_da_Primeira_Coluna Tipo_de_Dado_da_Primeira_Coluna,
Nome_da_Segunda_Coluna Tipo_de_Dado_da_Segunda_Coluna,
… 
);
```

Primeiro, você cria uma nova tabela, à qual atribui um nome exclusivo em vez do marcador “Nome\_da\_Tabela”. Todos os caracteres do [código ASCII](https://www.ionos.com/digitalguide/server/know-how/ascii-codes-overview-of-all-characters-on-the-ascii-table/ "Códigos ASCII e caracteres na tabela") são permitidos. Em seguida, você especifica as colunas individuais. Cada coluna recebe um **nome exclusivo e um tipo de dado** que será permitido nessa coluna. Todas as colunas são separadas por vírgulas.

## `OR REPLACE` e `IF NOT EXISTS` com MariaDB `CREATE TABLE`

Como as tabelas devem ser únicas, você receberá uma mensagem de erro **se já existir uma tabela com o mesmo nome**. Para evitar esse problema, você tem duas opções: a opção `OR REPLACE` verifica se já existe uma tabela com o mesmo nome no banco de dados. Se existir, a **tabela antiga é substituída pela nova**. Caso contrário, a nova tabela é simplesmente criada. A sintaxe desse comando é:

```sql
CREATE OR REPLACE TABLE Nome_da_Tabela(
Nome_da_Primeira_Coluna Tipo_de_Dado_da_Primeira_Coluna,
Nome_da_Segunda_Coluna Tipo_de_Dado_da_Segunda_Coluna,
… 
);
```

No entanto, note que a tabela antiga será sobrescrita, e possíveis conteúdos serão perdidos. Essa opção funciona como uma forma abreviada do código a seguir:

```sql
DROP TABLE IF EXISTS Nome_da_Tabela;
CREATE TABLE Nome_da_Tabela(
Nome_da_Primeira_Coluna Tipo_de_Dado_da_Primeira_Coluna,
Nome_da_Segunda_Coluna Tipo_de_Dado_da_Segunda_Coluna,
… 
);
```

Outra maneira de evitar duplicações e mensagens de erro é a opção `IF NOT EXISTS`. Ela verifica se uma tabela com o mesmo nome já existe no banco de dados. Se já existir, você recebe apenas uma notificação e **nenhuma tabela é sobrescrita**. Se não houver uma tabela com esse nome, uma nova tabela será criada. A sintaxe correspondente com o parâmetro é:

```sql
CREATE TABLE IF NOT EXISTS Nome_da_Tabela(
Nome_da_Primeira_Coluna Tipo_de_Dado_da_Primeira_Coluna,
Nome_da_Segunda_Coluna Tipo_de_Dado_da_Segunda_Coluna,
… 
);
```

## Exemplo de código com MariaDB `CREATE TABLE`

A funcionalidade do comando do MariaDB, `CREATE TABLE` pode ser ilustrada mais facilmente com um pequeno exemplo. Vamos criar uma tabela para uma lista de projetos fictícia com um total de oito colunas. Ficaria assim:

```sql
CREATE TABLE Projetos(
projetonumero INT AUTO_INCREMENT,
sobrenome VARCHAR(50) NOT NULL,
nome VARCHAR(50),
inicio DATE,
fim DATE,
custo DOUBLE,
tarefas VARCHAR(255) NOT NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (projetonumero)
);
```

No primeiro passo, criamos uma nova tabela e a chamamos de “Projetos”. Nas linhas seguintes, especificamos as colunas individuais:

- **projetonumero**: Nesta coluna, um número individual é atribuído ao projeto. Ela é tratada como chave primária, que é a principal identificação de cada linha da tabela. Com `AUTO_INCREMENT`, instruímos o programa a continuar os registros na “projetonumero” automaticamente, garantindo uma sequência uniforme.
- **sobrenome**: Aqui, é inserido o sobrenome do cliente. O registro pode ter até 50 caracteres. Com `NOT NULL`, definimos que essa coluna não pode ficar vazia.
- **nome**: A coluna “nome” funciona de maneira semelhante à coluna anterior. Como o nome não é obrigatório para o faturamento, essa coluna não precisa de `NOT NULL`, ou seja, pode ser deixada em branco.
- **inicio**: Aqui, é registrado o início de um projeto contínuo. Os valores permitidos são uma data no formato configurado ou o valor nulo.
- **fim**: “fim” descreve o prazo ou a conclusão real de um projeto. Esses valores também podem estar no formato `DATE` ou `NULL`.
- **custo**: Esta coluna lista o valor da fatura. Ele é armazenado no formato `DOUBLE`.
- **tarefas**: Em “tarefas”, há espaço para uma breve descrição dos serviços realizados para o projeto. A coluna pode conter até 255 caracteres e não pode ficar vazia.
- **created\_at**: Na última coluna, é registrada a data de criação de cada projeto. Isso é baseado na hora e data atuais do sistema.

Dica No nosso Digital Guide, você encontra tudo o que precisa saber sobre MariaDB. Por exemplo, explicamos como usar o comando [MariaDB `CREATE USER`](https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/mariadb-create-user/). Também temos um [artigo comparativo entre MariaDB e MySQL](https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/mariadb-vs-mysql/ "Mariadb vs. MySQL"), além de todas as informações necessárias para [instalar o MariaDB](https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/instalar-mariadb-mysql/).


This is a markdown version of: [https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/mariadb-create-table/](https://www.ionos.com/pt-br/digitalguide/hospedagem/tecnologia-de-hospedagem/mariadb-create-table/) for AI/LLM consumption.