# MariaDB Create Table: como criar uma nova tabela

CREATE TABLE permite criar novas tabelas no MariaDB. Cada tabela é única dentro da sua base de dados, por isso existem as cláusulas `OR REPLACE` e `IF NOT EXISTS` para evitar duplicações e mensagens de erro.

## O que é `CREATE TABLE` no MariaDB?

Use a instrução `CREATE TABLE` do MariaDB para **criar uma nova tabela**, que depois poderá preencher com dados. Como o MariaDB é um sistema de gerenciamento de bases de dados relacional (DBMS), as tabelas servem como base para todas as operações de armazenamento. Ao criar uma tabela, define cada uma das colunas e, em particular, os tipos de dados que podem ser usados nelas. Cada tabela deve ser única dentro da sua base de dados, pelo que aparecerá uma mensagem de erro se utilizar [MariaDB CREATE DATABASE](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-base-de-dados/) e já existir uma tabela com o mesmo nome. Nas secções seguintes, explicamos como utilizar `CREATE TABLE` no MariaDB e quais as cláusulas que pode utilizar.

## Sintaxe e funcionamento

A sintaxe geral do `CREATE TABLE` no MariaDB é a seguinte:

```sql
CREATE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
```

As novas tabelas no MariaDB são criadas com a instrução `CREATE TABLE`. Deve atribuir-lhes um nome único no local onde aparece o marcador de posição «Nome\_da\_tabela». Pode utilizar todos os caracteres do código ASCII. Em seguida, pode definir cada coluna individualmente, atribuindo-lhe **o seu próprio nome e o tipo de dados** que podem ser armazenados nessa coluna. Deve separar todas as colunas com vírgulas.

## `OR REPLACE` e `IF NOT EXISTS`

Como as tabelas devem ser únicas, receberá uma mensagem de erro **se já existir uma tabela com o mesmo nome**. Existem duas formas de evitar esse problema: a cláusula `OR REPLACE` verifica se já existe uma tabela com o mesmo nome na base de dados. Se existir, a **tabela antiga é substituída pela nova**. Se não existir, é criada a nova tabela. A sintaxe é a seguinte:

```sql
CREATE OR REPLACE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
```

Tenha em atenção que a tabela antiga será substituída e, portanto, todo o seu conteúdo será perdido. O comando anterior obtém o mesmo resultado que este código mais longo:

```sql
DROP TABLE IF EXISTS Nombre_de_la_tabla;
CREATE TABLE Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
```

A segunda forma de evitar duplicidades e as consequentes mensagens de erro é a cláusula `IF NOT EXISTS`. É uma cláusula que verifica se já existe uma tabela com o mesmo nome na base de dados. Se existir, receberá um aviso e **nenhuma tabela será substituída**. Se não existir nenhuma tabela com esse nome, será criada uma nova. A sintaxe correspondente é a seguinte:

```sql
CREATE TABLE IF NOT EXISTS Nombre_de_la_tabla(
	Nombre_de_la_primera_columna Tipo_de_dato_de_la_primera_columna,
	Nombre_de_la_segunda_columna Tipo_de_dato_de_la_segunda_columna,
	…
);
```

## Exemplo de `CREATE TABLE` no MariaDB

A maneira mais simples de ilustrar o funcionamento do `CREATE TABLE` no MariaDB é através de um pequeno exemplo. Nele, é criada uma tabela para uma lista fictícia de projetos com um total de oito colunas. Ela tem a seguinte aparência:

```sql
CREATE TABLE Proyectos(
	numero_proyecto INT AUTO_INCREMENT,
	apellido VARCHAR(50) NOT NULL,
	nombre VARCHAR(50),
	inicio DATE,
	fin DATE,
	coste DOUBLE,
	tareas VARCHAR(255) NOT NULL,
	created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
	PRIMARY KEY (numero_proyecto)
);
```

Na primeira etapa, é criada uma nova tabela chamada «Projetos». Nas linhas seguintes, são especificadas as colunas individuais:

- **número\_projeto**: nesta coluna, é atribuído um número individual a cada projeto. Trata-se de um número de referência que serve para identificar cada linha individual. Com `AUTO_INCREMENT`, indica-se ao programa que aumente automaticamente o número de «número\_projeto», a fim de garantir uma sequência uniforme.
- **apelido**: nesta coluna é introduzido o apelido do cliente, podendo conter uma sequência de até 50 caracteres. Utiliza-se `NOT NULL` para especificar que uma coluna não pode ficar vazia.
- **nome**: a coluna «nome» é muito semelhante à coluna anterior. No entanto, como o nome não é essencial para a faturação, esta coluna pode ficar vazia, pelo que não se introduz a cláusula `NOT NULL`.
- **início**: esta coluna contém a data de início de um projeto em andamento. Aceita valores de data no formato de data definido ou o valor nulo.
- **fim**: a coluna «fim» descreve a data limite ou a conclusão efetiva de um projeto. Os seus valores também podem ter o formato `DATE` ou `NULL`.
- **custo**: a coluna «custos» contém o valor da fatura. É armazenada no formato `DOBLE`.
- **tarefas**: a coluna «tarefas» oferece um espaço para descrever brevemente os serviços prestados durante o projeto. A coluna tem espaço para um máximo de 255 caracteres e não deve ficar em branco.
- **created\_at**: a data de criação do projeto correspondente é armazenada na última coluna. Obtém a data e a hora diretamente do sistema.

Dica No nosso Guia Digital, pode aprender tudo o que precisa saber sobre o MariaDB. Por exemplo, explicamos como utilizar o comando [MariaDB CREATE USER](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-utilizador/). Também pode encontrar uma comparação detalhada entre o MariaDB e o MySQL e tudo o que precisa saber para instalar o MariaDB.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-tabela/](https://www.ionos.com/pt-pt/digitalguide/hospedagem/questoes-tecnicas/mariadb-criar-tabela/) for AI/LLM consumption.