SQL: guia sobre create table

COMPARTILHAR:

Neste artigo, você aprenderá como criar tabelas em um banco de dados usando SQL.

Criar a tabela

No capítulo anterior, aprendemos como criar um banco de dados em um servidor de banco de dados. Agora é hora de criar algumas tabelas em nosso banco de dados que realmente contenham os dados. Uma tabela de banco de dados simplesmente organiza as informações em linhas e colunas.

A instrução SQL CREATE TABLE é usada para criar tabelas.

Sintaxe

A sintaxe básica para criar uma tabela pode ser fornecida:

CREATE TABLE nome_da_tabela (
  coluna1 tipo_de_dados,
  coluna2 tipo_de_dados,
  ...
);

Para entender facilmente essa sintaxe, vamos criar uma tabela no banco de dados de demonstração. Digite a seguinte instrução na ferramenta de linha de comando do MySQL e pressione Enter.

-- Syntax for MySQL Database 
CREATE TABLE persons (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);
-- Syntax for SQL Server Database 
CREATE TABLE persons (
    id INT NOT NULL PRIMARY KEY IDENTITY(1,1),
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);

A instrução acima cria uma tabela chamada pessoas com quatro colunas id , name , birth_date e phone . Observe que cada nome de coluna é seguido por uma declaração de tipo de dados; essa declaração especifica o tipo de dados que a coluna armazenará, que pode ser números inteiros, strings, datas etc.

Certos tipos de dados podem ser declarados com um parâmetro de comprimento, que indica quantos caracteres podem ser armazenados na coluna. Por exemplo, VARCHAR(50) pode conter até 50 caracteres.

Observação: os tipos de dados das colunas podem variar de acordo com o sistema de banco de dados. Por exemplo, MySQL e SQL Server suportam o tipo de dados INT para valores inteiros, enquanto o Oracle Database suporta o tipo de dados NUMBER.

A tabela a seguir resume os tipos de dados mais comumente usados ​​suportados pelo MySQL.

Tipo de dadosDescrição
INTArmazena valores numéricos no intervalo de -2147483648 a 2147483647
DECIMALArmazena valores decimais com precisão exata.
CHARArmazena cadeias de comprimento fixo com um tamanho máximo de 255 caracteres.
VARCHARArmazena cadeias de comprimento variável com um tamanho máximo de 65.535 caracteres.
TEXTArmazena strings com tamanho máximo de 65.535 caracteres.
DATEArmazena valores de data no formato AAAA-MM-DD.
DATETIMEArmazena valores combinados de data/hora no formato AAAA-MM-DD HH:MM:SS.
TIMESTAMPArmazena valores de timestamp. TIMESTAMPos valores são armazenados como o número de segundos desde a época do Unix (‘1970-01-01 00:00:01’ UTC).

Confira a seção SQL DB Data Types Reference para obter detalhes sobre todos os tipos de dados disponíveis em SGBD populares como MySQL, SQL Server, etc.

Algumas restrições adicionais (também conhecidas como modificadores) são definidas para as colunas da tabela na instrução anterior. As restrições definem regras sobre os valores permitidos em uma coluna.

  • NOT NULL: garante que o campo não aceite valores NULL
  • PRIMARY KEY: marca o campo como a chave primária da tabela
  • AUTO_INCREMENT: informa ao MySQL para atribuir automaticamente um valor ao campo, incrementando o valor anterior em 1. Disponível apenas para campos numéricos.
  • UNIQUE: garante que cada linha de uma coluna tenha um valor exclusivo.

O Microsoft SQL Server utiliza a propriedade IDENTITY para ativar uma funcionalidade de incremento automático. O valor padrão é IDENTITY(1,1), o que significa que o valor inicial e o valor de incremento são ambos 1.

Você pode usar os comandos DESC ou sp_columns para ver informações sobre as colunas ou a estrutura de uma tabela em um banco de dados MySQL ou Oracle, respectivamente. No SQL Server, basta substituir “table_name” pelo nome real da tabela.

Criar tabela se não existir

Para evitar erros ao criar uma tabela que já existe em um banco de dados no MySQL, você pode usar a cláusula opcional IF NOT EXISTS. Ela pode ser usada da seguinte forma:

CREATE TABLE IF NOT EXISTS persons (
    id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    birth_date DATE,
    phone VARCHAR(15) NOT NULL UNIQUE
);

Para visualizar as tabelas presentes no banco de dados atualmente selecionado no MySQL, você pode usar o comando SHOW TABLES; na linha de comando. Ele exibirá uma lista de todas as tabelas do banco de dados.

Leia mais: SQL: guia sobre create database

COMPARTILHAR:
brayan

Brayan Monteiro

Bacharel em Sistemas de Informação pela Faculdade Maurício de Nassau e desenvolvedor PHP. Além de programador, produzo conteúdo e gerencio blogs. Sou especialista em desenvolvimento de software, SEO de sites e em negócios digitais.