Instrução SQL Create Table - com sintaxe de exemplo

SQL é uma das linguagens de consulta mais confiáveis ​​e diretas. Ele fornece uma sintaxe clara que pode ser lida facilmente sem abstrair muito do significado da funcionalidade.

Se você quiser um pouco de história sobre a linguagem, bem como alguns fatos interessantes, verifique a parte introdutória do meu artigo SQL Update Statement.  

Neste artigo, veremos as partes importantes da criação de uma tabela em SQL. Meu "sabor" preferido de SQL é o SQL Server, mas as informações sobre a criação de uma tabela são bastante onipresentes em todas as variações de SQL.  

Se você nunca usou SQL ou não sabe o que é uma tabela, não se preocupe! Resumidamente (e amplamente), uma tabela é um objeto de banco de dados que mantém, ou contém, todos os dados dentro dessa parte do banco de dados. Ele armazena esses dados em colunas nomeadas e linhas numeradas, o que não é estranho se você já usou algum programa de planilha. Cada linha representa um registro de banco de dados inteiro.

Se os dados estivessem no formato de caixa, a mesa seria uma seção das prateleiras do armazém em que armazenamos essas caixas.

Estou simplificando muito a explicação e há muito mais nas tabelas SQL, mas isso está fora do escopo deste artigo. Se você está ansioso por uma explicação mais detalhada sobre as tabelas, encorajo-o a mergulhar na documentação do Microsoft Database Design.

Antes de aprendermos como criar a tabela, é importante aprendermos quais tipos de dados essas colunas e linhas podem armazenar.

Tipos de dados

As tabelas SQL podem conter texto, números, uma combinação de texto e números, bem como imagens e links.

Ao criar nossa tabela, designamos o tipo de dados que suas linhas e colunas conterão. Aqui estão as classificações gerais de dados:

  • Numéricos Aproximados
  • Cordas
  • Data hora
  • Strings de caracteres Unicode
  • Numéricos Exatos
  • De outros

Listarei alguns dos tipos de dados mais comumente usados ​​abaixo, mas se você quiser saber mais sobre todos os tipos de dados, convido você a verificar este artigo completo sobre cada tipo da Microsoft.

Aqui estão os tipos de dados mais comumente usados ​​de minha experiência, em nenhuma ordem específica:

  • char (tamanho) - string de comprimento fixo que pode conter letras, números, caracteres especiais
  • varchar (tamanho) - string de comprimento variável que pode conter letras, números e caracteres especiais
  • boolean - Zero (ou valores que equivalem a 0) é falso, diferente de zero é verdadeiro
  • int ( tamanho opcional ) - um número de até 10 caracteres de comprimento, aceita números negativos e positivos
  • bigint ( tamanho opcional ) - um número de até 19 caracteres de comprimento, aceita números negativos e positivos
  • float (size, d) - um número com o tamanho total do número representado pelo tamanho e o número de caracteres após o decimal representado pelo d
  • data - data no formato AAAA-MM-DD
  • datetime - data e hora no formato AAA-MM-DD hh: mm: ss
  • hora - hora no formato hh: mm: ss

Tudo bem, agora que sabemos quais tipos de dados as linhas e colunas podem conter, vamos às partes divertidas!

Criação de uma mesa

Antes de começar, é importante observar que fornecerei todos os meus exemplos, independentemente de qualquer programa.

No entanto, se você deseja começar a escrever consultas e não tem certeza por onde começar, dê uma olhada no SQL Server Management Studio. É um programa robusto e gratuito amplamente utilizado e com suporte na comunidade.

Como alternativa, existem várias opções, incluindo DB Fiddle, que permitem construir esquemas e escrever consultas diretamente em seu navegador.  

Vamos começar com uma instrução simples para criar uma tabela básica:

CREATE TABLE table_name ( column1_name datatype, column2_name datatype, column3_name datatype, column4_name datatype, column5_name datatype,)

Existem outros parâmetros que podemos adicionar após o datatypepara aumentar as colunas:

  • NOT NULL- passar este parâmetro garantirá que a coluna não possa conter um NULLvalor
  • UNIQUE - passar este parâmetro impedirá que a coluna mantenha o mesmo valor mais de uma vez
  • UNIQUE KEY- passar este parâmetro designará essa coluna como um identificador único. É essencialmente uma combinação dos dois parâmetros anteriores.

Agora, vamos criar uma tabela (chamada doggo_info que deve seguir os padrões de identificadores para bancos de dados) para conter informações sobre os residentes do Woof Woof Retreat, uma creche fictícia para cães que acabei de pensar :)

CREATE TABLE doggo_info ( ID int UNIQUE KEY, Name varchar(50) NOT NULL, Color varchar(50), Breed varchar(50), Age int, Weight int, Height int, Fav_Food varchar(100), Fav_Toy varchar(100), Dislikes varchar(500), Allergies varchar(500) NOT NULL )

E aqui está a nova tabela que acabamos de criar:

Nome Cor Procriar Era Peso Altura Fav_Food Fav_Toy Não gosta Alergias

Você notará que nossa tabela está completamente vazia, porque ainda não adicionamos nenhum dado a ela. Fazer isso está além do escopo deste artigo, mas eu queria que você soubesse disso.

Crie uma tabela a partir de uma tabela existente

Também é possível criar uma nova tabela baseada em uma tabela existente.

É muito fácil e não requer muito mais sintaxe. Precisamos selecionar a tabela e as colunas para "copiar" de:

CREATE TABLE new_table_name AS SELECT column1, column2, column3, column4 (use * to select all columns to be added to the new_table) FROM current_table_name WHERE conditions_exist

Então, por conveniência, adicionei alguns dados à nossa doggo_infotabela e agora se parece com o exemplo abaixo:

Nome Cor Procriar Era Peso Altura Fav_Food Fav_Toy Não gosta Alergias
margarida vermelho dachshund padrão 1 14 6 ração com sabor de salmão bola squeeky pássaros voando sobre o quintal gatos, banhos, limpeza
chefe preto / castanho rottweiler 3 41 17 literalmente qualquer coisa puxador de corda ficar fora do sofá ouvindo, comportando-se, não babando em tudo
Sammie mel leve retriever dourado 9 46 19 ração com sabor de carne a cama dela cachorrinhos indisciplinados nenhum conhecido

Agora podemos criar outra tabela com base nos dados que temos em nossa doggo_infotabela executando a consulta abaixo:

CREATE TABLE puppies_only AS SELECT * FROM doggo_info WHERE Age < 4

Queremos criar uma nova tabela com todas as colunas da doggo_infotabela, mas apenas onde o Agefor menor que 4. Depois de executar esta consulta, nossa nova tabela terá a seguinte aparência:

Nome Cor Procriar Era Peso Altura Fav_Food Fav_Toy Não gosta Alergias
margarida vermelho dachshund padrão 1 14 6 ração com sabor de salmão bola squeeky pássaros voando sobre o quintal gatos, banhos, limpeza
chefe preto / castanho rottweiler 3 41 17 literalmente qualquer coisa puxador de corda ficar fora do sofá ouvindo, comportando-se, não babando em tudo

Espero que você possa ver o quão poderosa essa declaração pode ser. Com algumas linhas em nossa consulta, essencialmente copiamos os dados de uma tabela para outra, mas apenas as linhas que queríamos.  

Essa não é apenas uma ferramenta útil para se ter em seu cinto de ferramentas de desenvolvedor - ela vai economizar uma quantidade incalculável de tempo quando você precisar mover dados pelas tabelas.

Empacotando

Agora que você sabe como criar (ou copiar) uma tabela em SQL, independentemente da situação apresentada, você pode começar a preencher as colunas e linhas com dados para armazenar!

A CREATE TABLEdeclaração é extremamente útil e poderosa. Você está pronto para começar a colocá-lo em bom uso.

Se você achou este artigo útil, verifique meu blog, onde eu frequentemente posto artigos sobre desenvolvimento, vida e aprendizagem na web.

Enquanto você estiver lá, por que não se inscrever no meu boletim informativo? Você pode fazer isso no canto superior direito da página principal do blog. Eu gosto de enviar artigos interessantes (meus e outros), recursos e ferramentas para desenvolvedores de vez em quando.

Se você tiver dúvidas sobre este artigo ou apenas em geral, me avise - venha dizer oi no Twitter ou em qualquer uma das minhas outras contas de mídia social que você pode encontrar abaixo no boletim informativo inscreva-se na página principal do meu blog ou no meu perfil aqui em fCC :)

Tenha um excelente dia! Feliz aprendizado e boa programação, amigo!