Pular para o conteúdo principal

Tudo sobre o ALTER TABLE SQL Server-Exemplos de uso

O comando ALTER TABLE pode ser usado para modificar a estrutura de uma tabela que  foi adicionada a um banco de dados. Em outras palavras, após criarmos uma tabela em um banco de dados, podemos alterar sua estrutura com o uso do comando ALTER TABLE.

Qual a diferença entre os comandos UPDATE e ALTER TABLE?

Essa é umas grandes dúvidas dos nossos alunos. Em suma, o comando ALTER TABLE é utilizado para adicionar, excluir e modificar as estruturas da tabelas no banco de dados como por exemplo: adicionar colunas em uma tabela, modificar o tipo de dados de uma coluna, excluir colunas de uma tabela, etc. Enquanto que, o comando UPDATE é usado para atualizar os registros(linhas) existentes em um banco de dados.


Observação: Como o próprio nome da cláusula sugeri, o comando ALTER TABLE faz alteração na estrutura da tabela, e não sobre os dados da tabela (este tipo de alteração é feita utilizando o comando UPDATE).

Como toda modificação que acontece no mundo gera consequências positivas ou dependendo, negativas, no banco de dados não é diferente. Ou seja, antes de realizar uma alteração, pincipalmente no tipo de dados da coluna , é necessário analisar se esta alteração não poderá afetar em perda de informações armazenadas atualmente, pois, dependendo do tipo que será alterado para o campo desejado, torna-se necessário realizar a conversão dos dados para evitar qualquer tipo de perda ou falta de informações.

Por exemplo: Se eu tenho uma coluna que é do tipo FLOAT(ponto flutuante) e armazena um dado(registro) com valor com casa decimal tipo 7,3 e alterar essa coluna para INT, o valor de 7,3  passará a ser um número inteiro, no caso o 7. Isso é uma perda e tanto de informação.

Onde utilizar o comando ALTER TABLE?

O comando ALTER TABLE é utilizado para diversas situações:

1- Utilizado para alterar o tipo de dados da coluna

A sintaxe para alterar o tipo de dados da coluna de uma tabela é a seguinte:

ALTER TABLE nome_da_tabela  ALTER COLUMN  nome_coluna  novo_tipo_de_dados_da_coluna

Exemplo

Eu tenho uma tabela de produtos aqui no banco de dados SQL Server e vou utilizar ela para demonstrar na prática, a maneira como fazemos esse tipo de alteração.

Primeiramente, vou fazer um SELECT * FROM na tabela, para visualizar os dados que ela está armazenando.

SELECT * FROM dbo.vendas

SQL SERVER - SELECT * FROM PRODUTOS

A terceira coluna, que é a de preço é do tipo INT.

Agora, vou alterar a coluna preço para o tipo FLOAT. Dentro de uma empresa, qual seria o motivo para alterar o tipo de dados de uma coluna? A resposta é depende. Pode ser por motivo de capacidade de armazenamento das informações, ou seja, cada tipo de dados permite armazenar um determinado tamanho de bytes e também trabalha com uma faixa de valores específicas. A alteração também pode ocorrer por motivos de compatibilidade.

Realizando a alteração...

ALTER TABLE dbo.vendas  ALTER COLUMN preço FLOAT


Para testar, vou fazer a inserção de dados(INSERT INTO) na tabela.


Visualizando os dados...

SELECT * FROM dbo.vendas
select * from table_name

2- Utilizar o  ALTER TABLE para adicionar uma nova coluna na tabela

Para adicionar uma nova tabela no SQL Server, utilizamos a sintaxe: ALTER TABLE nome_tabela ADD nome_da_coluna  tipo_de_dados_da_coluna;

O exemplo a seguir adiciona uma coluna de nome cidade na tabela dbo.vendas.
Utilizar o  ALTER TABLE para adicionar uma nova coluna na tabela Para adicionar uma nova tabela no SQL Server, utilizamos a sintaxe: ALTER TABLE nome_tabela ADD nome_da_coluna  tipo_de_dados_da_coluna;

Visualizando a tabela...

SELECT * FROM dbo.vendas
SELECT * FROM dbo.vendas

Também, podemos adicionar duas ou mais colunas ao mesmo tempo

ALTER TABLE dbo.vendas ADD fabricante VARCHAR(70), desconto FLOAT, tipo_produto VARCHAR(30)

Visualizando a tabela...

SELECT * FROM dbo.vendas
Bancos de dados relacionais  Estes são os bancos de dados clássicos, baseados em tabelas. Ou, ainda, bancos de dados SQL. Isso significa que os dados armazenados neste tipo de banco de dados são mostrados ao usuário em formato de tabelas (relações).  Exemplos: PostgreSQL, MySQL, SQL Server,  Oracle, etc.

3- Utilizar o  ALTER TABLE para indicar uma nova chave primária

Em nossa tabela, se quisermos que a coluna id_produto seja uma chave primária também, podemos fazer:

ALTER TABLE dbo.vendas ADD PRIMARY KEY (id_produto)


Comentários