Criar uma tabela de SQL Server com um script

Criar uma tabela de SQL Server com um script

Partilhar

Descubra como criar uma tabela do SQL Server através de um script para que não precise de o fazer na interface gráfica da consola de administração do SQL Server Management Studio.

Às vezes, podemos precisar de implementar bases de dados  ou novas tabelas no nosso SQL Server Database Management System, e fazê-lo manualmente – através da interface gráfica – pode ser um verdadeiro tormento. Por isso, veremos como realizar esta tarefa de maneira muito mais lógica e confortável, com comandos Transact-SQL

Este tutorial não pretende ser um guia completo para Transact-SQL ou ANSI SQL, por isso não vamos entrar em grandes detalhes de sintaxe ou das centenas de opções que temos quando falamos sobre criação de tabelas ou qualquer elemento de SQL. Para compensar, no final do tutorial deixaremos alguns links que complementam as informações que fornecemos aqui. 

 

Como criar uma tabela de SQL Server através de um script?

 

Pré-requisitos ou pré-configuração​.

Para concluir este tutorial com sucesso e poder criar uma tabela com um script no nosso SQL Server da Jotelulu, é preciso:

  • Por um lado, estar registado na Plataforma Jotelulu com uma organização e estar conectado à mesma após fazer login.
  • Por outro lado, ter contratado uma subscrição de Servidores 
  • Ter um servidor Windows a funcionar nessa subscrição, com um SQL Server instalado.

 

Passo 1. Criação do código a ser executado​

A primeira coisa que precisamos de fazer é entender um pouco sobre a forma como temos de conectar, manipular dados, etc., dentro do SQL Server, mas como mencionamos anteriormente, sem entrar em detalhes.

Para fazer a conexão com a base de dados, utilize o comando “USE <NOME_BD> onde <NOME_BD> é o nome da base de dados ao qual se quer conectar e onde será criada a tabela que apresentaremos a seguir. 

Em seguida, deve inserir o comando para criar a tabela, que possui uma sintaxe bastante simples: 

CREATE TABLE <NOME_TABELA> 

)

Em que <NOME_TABELA> se refere ao nome que daremos à tabela durante a criação e que será utilizado posteriormente para referir-se à referida tabela.

Dentro da tabela, como não podia ser de outra forma, teremos linhas e colunas. As colunas formarão os campos da tabela, enquanto as linhas farão referência às diferentes entradas de artigos ou elementos da tabela.

Ao definir os campos (colunas) devemos ter em consideração pelo menos dois elementos: o nome do elemento e o tipo de dados armazenados.

Sobre o nome não há muito a acrescentar, basta dizer que deve ser o mais descritivo possível para evitar confusões, mas ao falar dos tipos de dados podemos estender-nos um pouco mais, dizendo que temos os seguintes tipos (são apresentados ordenados por tipos e dentro desses tipos por ordem alfabética, não pelo seu uso ou importância):

Numéricos exatos:

  • bigint
  • bit
  • decimal
  • int
  • money
  • numeric
  • smallint
  • smallmoney
  • tinyint

Numéricos aproximados:

  • float
  • real

Data e hora:

  • date
  • datetime
  • datetime2
  • datetimeoffset
  • smalldatetime
  • time

Sequências de caracteres:

  • char
  • text
  • varchar

Sequências de caracteres Unicode:

  • nchar
  • ntext
  • nvarchar

Sequências binárias:

  • binary
  • image
  • varbinary

É muito comum que acabemos por trabalhar com um número limitado de tipos, como: decimal, int, float, real, date, char, varchar, binary.

Além disso, há outros pontos que temos de considerar, como por exemplo se vamos permitir que algum dos campos da tabela não seja preenchido, ou se, pelo contrário, é obrigatório que todos sejam preenchidos. Para forçar o preenchimento de um campo, deve adicionar “NOT NULL” após o tipo.

Também se pode declarar se uma coluna é uma chave primária (PRIMARY KEY), se deve ter um valor único (UNIQUE), etc. Para já vamos trabalhar com o básico, que é declarar o tipo e se os valores nulos são permitidos. 

O exemplo que vamos realizar é sobre a criação de uma tabela User na qual são descritos os seguintes campos: 

  • Cartão de Cidadão: é um inteiro (int) que não pode ser deixado em branco (NOT NULL).
  • Nome: É uma sequência de caracteres de até 128 caracteres (varchar(128)) que não pode ser deixada em branco (NOT NULL).
  • Apelidos: É uma sequência de caracteres de até 128 caracteres (varchar(128)) que não pode ser deixada em branco (NOT NULL).
  • Sexo: É uma sequência de caracteres de até 20 caracteres (varchar(20)) que não pode ser deixada em branco (NOT NULL).
  • Idade: É um número (smallint) e pode ser deixado em branco.
  • Data de Nascimento: É uma data (datetime) e pode ser deixada em branco. 
  • Telefone: É um inteiro (int) que pode ser deixado em branco (NULL).
  • Email: É uma sequência de caracteres de até 128 caracteres (varchar(128)) que pode ser deixada em branco (NULL).

A instrução SQL ficaria assim:

CREATE TABLE dbo.Utilizador 

    CC int NOT NULL 
    ,Nome varchar(128) NOT NULL 
    ,Apelidos varchar(128) NOT NULL 
    ,Sexo varchar(20)
    ,Idade smallint 
    ,Data Nascimento datetime 
    ,Telefone int
    ,Email varchar(128) 
);

Temos de adicionar a atribuição da base de dados onde a tabela será criada, caso contrário será feito numa base de dados do sistema, e se necessário, podemos adicionar a criação da base de dados com o “CREATE DATABASE”. Além disso, a instrução “GO” deve ser incluída após o comando, para que este inicie cada comando separadamente e não espere até ao final. Se não o fizermos desta forma, ao tentarmos utilizar a tabela, esta não terá sido criada e ocorrerá um erro.

Desta forma, poderíamos lançar a seguinte sequência:

CREATE DATABASE Clientes;

GO

USE Clientes;
GO   

CREATE TABLE dbo.Utilizador 

    CC int NOT NULL 
    ,Nome varchar(128) NOT NULL 
    ,Apelidos varchar(128) NOT NULL 
    ,Sexo varchar(20)
    ,Idade smallint 
    ,Data Nascimento datetime 
    ,Telefone int
    ,Email varchar(128) 
);

E com isto já temos a definição.

 

Passo 2. Lançar o nosso código na base de dados

Agora que temos clareza sobre o que será executado, passaremos pelo processo de iniciá-lo a partir do SSMS (SQL Server Management Studio). Isto vai ajudar-nos a fazer a implementação real da nova tabela (e base de dados, se necessário). 

A primeira coisa que teremos de fazer é aceder ao console do SSMS e encontrar a instância em que vamos trabalhar, que geralmente será a instância padrão, se não a alterarmos. 

Uma vez dentro do SSMS, vamos clicar em “New Query” (1).

Passo 1. Abrimos uma nova query para poder copiar o nosso código de criação da tabela SQL

Passo 1. Abrimos uma nova query para poder copiar o nosso código de criação da tabela SQL

No momento em que tivermos a janela pronta, devemos colar o código que foi criado anteriormente (2), verificando se não foram inseridos caracteres ou espaços estranhos, pois isso pode acontecer ao colá-lo a partir de alguns editores.

Quando estiver colado, deve-se clicar em “Execute” (3) para que seja executado e sejam feitas as alterações pertinentes. Quando a execução for iniciada, poderá ver diferentes mensagens (4) que serão atualizadas em tempo real, embora geralmente sejam execuções muito rápidas. Quando as alterações forem feitas, e se tudo tiver corrido bem, verá a mensagem “Query executed succesfully” (5). Se houver problemas, estes podem ser vistos nos espaços de mensagem (4) e (5).

Inserimos o código para criar a tabela, iniciamos a execução e verificamos se tudo correu bem

Inserimos o código para criar a tabela, iniciamos a execução e verificamos se tudo correu bem

Assim que estas alterações tenham sido feitas, pode ir ao “Object Explorer” (6) para verificar se os elementos que lançámos com o nosso código foram criados. Para isso, pode ser necessário exibir “Databases” até encontrar a base de dados que criámos, que no nosso caso é “Clientes”, e uma vez dentro da base de dados, exibir “Tables” para ver as tabelas que criámos.

Se os elementos que criámos não forem encontrados, pode ser necessário clicar em “Atualizar” (7) para que a visualização seja atualizada. Se depois de clicar neste botão não se atualizar, pode fechar a janela do SSMS e voltar a entrar para ver as alterações. Como muitos de nós já sabemos, a falta de atualização dos consoles gráficos da Microsoft é uma falha bastante comum.

Verificamos o conteúdo do explorador de objetos para ver se a tabela foi criada corretamente

Verificamos o conteúdo do explorador de objetos para ver se a tabela foi criada corretamente

NOTA:  Quando os comandos são iniciados, é possível que sejam declarados como bem-sucedidos, sem qualquer alteração visível no ecrã. Para que as alterações sejam reveladas no ecrã, geralmente é preciso clicar em “Atualizar”, mas se ainda assim não aparecerem, saia do SSMS e entre novamente na consola para resolver o problema.

Se quiser aprofundar mais, expandir informação ou simplesmente ver exemplos de criação de tabelas com CREATE TABLE, pode visitar a página de documentação da Microsoft em CREATE TABLE (Transact-SQL) – SQL Server 

Para aprofundar o conhecimento sobre o uso do Transact-SQL, pode visitar a página de documentação da Microsoft através de Transact-SQL Reference (motor de base de dados)

 

Conclusões e próximos passos:

O processo descrito neste tutorial permite criar rapidamente tabelas e até bases de dados com código dentro dos seus SQL Servers na Jotelulu.

Esperamos que, com este pequeno guia, não tenha problemas para implementar tabelas no SQL Server. Se tiver, não hesite em contactar-nos para que possamos dar uma ajuda.

Agradecemos a confiança!

Categorias:Cloud e sistemas

Outros artigos que podem interessar-lhe

13 de Novembro de 2024
Temos novas distribuições em Servidores! Em resposta aos múltiplos pedidos de vários dos nossos parceiros, foi ativada a opção
13 de Novembro de 2024
Já é possível configurar modelos de diferentes softwares através do assistente de configuração de servidores. Inauguramos esta funcionalidade do
13 de Novembro de 2024
Integração com QNAP! Agora é possível criar cópias sincronizadas entre dispositivos de armazenamento local QNAP e o nosso serviço