O comando SQL CREATE TABLE é utilizado para criar tabelas. Esta deve ser única dentro de um banco de dados. Ao criar a tabela, pa­râ­me­tros im­por­tan­tes são definidos e é possível usar uma tabela já existente como base.

O que é SQL CREATE TABLE?

Depois de criar um banco de dados SQL com a linguagem SQL (Struc­tu­red Query Language), será hora de criar nova tabela. Ela será usada para armazenar seus registros de dados e definirá a estrutura na qual esses dados serão or­ga­ni­za­dos. As tabelas consistem em campos ou colunas que podem conter de­ter­mi­na­dos tipos de dados e linhas nas quais esses dados são listados. Para criar uma tabela, utilize o comando SQL CREATE TABLE. Com este comando, você não apenas cria a tabela, mas também define como ela será es­tru­tu­rada. Em seguida, você pode preenchê-la com os dados cor­res­pon­den­tes.

VPS Hosting (Virtual Private Servers)
World-class VPS at America’s lowest price

Hos­pe­da­gem VPS poderosa e de baixo custo para rodar suas apli­ca­ções sob medida, com as­sis­tente pessoal e suporte 24 horas.

  • Save 50% or more vs leading hosts
  • Unlimited traffic & no setup fees 
  • 99.99% uptime gua­ran­teed
  • Free 24/7 premium support 

Sintaxe e fun­ci­o­na­li­dade de SQL CREATE TABLE

Já com um olhar sobre a sintaxe do comando SQL CREATE TABLE, você pode perceber que tipos de dados e nomes são obri­ga­tó­rios desde o início para a criação correta de uma nova tabela. A sintaxe é ba­si­ca­mente a seguinte:

CREATE TABLE nome_da_tabela (
coluna1 tipo_de_dado,
coluna2 tipo_de_dado,
coluna3 tipo_de_dado,
…
);
sql

Com o comando SQL CREATE TABLE, você cria uma nova tabela, cujo nome é definido logo na primeira linha. Dentro dos pa­rên­te­ses, esta tabela é es­pe­ci­fi­cada. Assim, você escolhe um nome para coluna1, coluna2, etc., e indica quais tipos de dados podem ser ar­ma­ze­na­dos nessa coluna. Tipos de dados comuns são, por exemplo, VARCHAR (uma string que pode conter letras, números ou ca­rac­te­res especiais), BOOLEAN (para valores booleanos true ou false), INT (para valores numéricos) ou DATE (para datas).

Exemplo de criação de nova tabela com SQL CREATE TABLE

Para ilustrar como funciona o SQL CREATE TABLE, mostramos a seguir um exemplo simples de como uma tabela pode ser es­tru­tu­rada. Vamos criar um diretório de fun­ci­o­ná­rios que contém um ID de fun­ci­o­ná­rio, o sobrenome, o primeiro nome, o endereço, a cidade e a idade. Pre­ci­sa­mos, portanto, de seis colunas que podem armazenar di­fe­ren­tes tipos de dados. O código cor­res­pon­dente é o seguinte:

CREATE TABLE Funcionários (
ID INT NOT NULL,
Sobrenome VARCHAR(50),
Nome VARCHAR(50),
Endereço VARCHAR(50),
Cidade VARCHAR(50),
Idade INT NOT NULL
);
sql

Para o ID e a Idade, es­co­lhe­mos o tipo de dado INT, que armazena números. A adição NOT NULL es­pe­ci­fica que esses campos não podem ficar vazios. As demais colunas Sobrenome, Nome, Endereço e Cidade podem conter letras, números e ca­rac­te­res especiais.

Combinar comandos SQL CREATE TABLE e IF NOT EXISTS

Cada tabela deve ser única dentro de um banco de dados para que o sistema possa acessá-la. Portanto, se você tentar criar uma tabela com o comando SQL CREATE TABLE e escolher um nome já existente, você receberá uma mensagem de erro como Error: table already exists. Para evitar isso, você pode adicionar o comando opcional IF NOT EXISTS. Este verifica primeiro se já existe uma tabela com o mesmo nome. Somente se isso não for o caso, ele cria uma nova tabela com os pa­râ­me­tros for­ne­ci­dos. Para o nosso exemplo acima, o comando ficaria assim:

CREATE TABLE IF NOT EXISTS Funcionários (
ID INT NOT NULL,
Sobrenome VARCHAR(50),
Nome VARCHAR(50),
Endereço VARCHAR(50),
Cidade VARCHAR(50),
Idade INT NOT NULL
);
sql

Criar tabela com base em uma tabela existente SQL CREATE TABLE

Embora o comando seja re­la­ti­va­mente simples, pode ser tra­ba­lhoso se você precisar criar várias tabelas se­me­lhan­tes. O comando SQL CREATE TABLE também oferece a pos­si­bi­li­dade de criar tabela com base em uma já existente. Você pode optar por criar uma cópia exata ou con­si­de­rar apenas alguns pa­râ­me­tros. Vamos mostrar ambas as abor­da­gens. No primeiro caso, criamos uma lista de fun­ci­o­ná­rios para uma outra filial. Esta deve ser idêntica à tabela existente, mas com um novo nome. O código cor­res­pon­dente é:

CREATE TABLE Nova_Lista_Funcionarios
AS
SELECT *
FROM Funcionários;
sql

Com o asterisco, indicamos ao sistema que todas as colunas devem ser copiadas.

No próximo exemplo, criamos uma lista de clientes. Esta também deve conter as colunas para ID, Sobrenome, Nome, Endereço e Cidade; no entanto, a data de nas­ci­mento não deve ser criada. Portanto, es­pe­ci­fi­ca­mos exa­ta­mente quais colunas devem ser copiadas:

CREATE TABLE Lista_de_Clientes
AS
SELECT ID, Sobrenome, Nome, Endereço, Cidade
FROM Funcionários;
sql

Comandos se­me­lhan­tes ao SQL CREATE TABLE

Além do já men­ci­o­nado CREATE DATABASE, existem outros comandos im­por­tan­tes para trabalhar com o comando SQL CREATE TABLE. Estes incluem es­pe­ci­al­mente SQL DELETE, com o qual você pode excluir entradas de uma tabela, e os Aliases em SQL, que permitem renomear tem­po­ra­ri­a­mente tabelas ou colunas.

Dica

O seu servidor pessoal: Com o SQL Server Hosting da IONOS, você não só escolhe entre MSSQL, MySQL e MariaDB, mas também se beneficia de numerosos recursos úteis. Encontre a solução adequada para suas ne­ces­si­da­des!

Ir para o menu principal