Introdução ao comando SQL Alter

O SQL (Structured Query Language) é usado para executar operações em bancos de dados e tabelas usando vários comandos SQL, como DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language) e TCL (Transaction Control Language). No DDL, usamos comandos como CREATE, DROP, ALTER etc. para criar e modificar a estrutura do banco de dados ou os objetos no banco de dados. O comando ALTER é usado para adicionar, modificar ou excluir as colunas em uma tabela. Neste tópico, vamos aprender sobre o comando SQL Alter.

Sintaxe

O comando ALTER pode ser usado para adicionar colunas a uma tabela existente, soltar uma coluna de uma tabela, renomear uma coluna existente e alterar o tipo de dados de uma coluna. Abaixo está a sintaxe usada para as diferentes operações que podem ser executadas usando o comando Alter.

A sintaxe para adicionar uma nova coluna a uma tabela existente é a seguinte:

ALTER TABLE table_name ADD COLUMN column_name datatype;

A sintaxe para adicionar uma coluna com um valor padrão a uma tabela existente é a seguinte:

ALTER TABLE table_name ADD COLUMN column_name datatype DEFAULT 'value';

A sintaxe para alterar o tipo de dados de uma coluna existente, conforme abaixo:

ALTER TABLE table_name MODIFY column_name datatype;

A sintaxe para renomear uma coluna como abaixo:

ALTER TABLE table_name RENAME old_column_name To new_column_name;

A sintaxe para soltar uma coluna como abaixo:

ALTER TABLE table_name DROP column_name;

A sintaxe para adicionar a restrição NOT NULL a uma coluna, como abaixo:

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

Como usar o comando SQL Alter com exemplos?

Para entender as operações do comando ALTER, consideremos a tabela abaixo 'EMPREGADO' como um exemplo. A tabela 'EMPREGADO' já foi criada e, com o uso do comando Alter, muitas modificações, como adicionar a coluna, renomear uma coluna, soltar uma coluna etc., podem ser feitas conforme descrito abaixo.

Empregado tabela como abaixo:

EU IRIANOMEERASALÁRIO
134Sonal2423000, 00
145Nikhil2728990.00
167Soham2625000, 00
234Yash32.35000, 00
189Ritu2529000, 00
190Rajesh28.29000, 00

Adicionando uma única coluna à tabela EMPLOYEE como abaixo

ALTER TABLE EMPLOYEE ADD COLUMN DOB DATE;

O comando ALTER acima adicionará a coluna 'DOB' à tabela existente 'EMPLOYEE'. Aqui, a coluna 'DOB' terá um valor nulo para cada linha na tabela existente.

Podemos ver o resultado usando a instrução abaixo:

Select * from EMPLOYEE;

EU IRIANOMEERASALÁRIODOB
134Sonal2423000, 00nulo
145Nikhil2728990.00nulo
167Soham2625000, 00nulo
234Yash32.35000, 00nulo
189Ritu2529000, 00nulo
190Rajesh28.29000, 00nulo

Adicionando uma coluna com o valor padrão

Vamos supor que os funcionários tenham ingressado no mesmo dia, para que a coluna Data de ingresso possa ter o mesmo valor padrão para todos os funcionários.

ALTER TABLE EMPLOYEE ADD COLUMN DOJ DATE DEFAULT '1990-08-09';

A instrução ALTER acima adicionará a coluna 'DOJ' com um valor padrão '1990-08-09' à tabela EMPLOYEE. Podemos ver o resultado do comando acima usando a instrução abaixo:

Select * from EMPLOYEE;

EU IRIANOMEERASALÁRIODOJ
134Sonal2423000, 001990-08-09
145Nikhil2728990.001990-08-09
167Soham2625000, 001990-08-09
234Yash32.35000, 001990-08-09
189Ritu2529000, 001990-08-09
190Rajesh28.29000, 001990-08-09

Renomeando uma coluna existente

Com o uso do comando abaixo, podemos renomear a coluna 'ID' da tabela 'EMPLOYEE' existente para 'EMP_ID'.

ALTER TABLE EMPLOYEE rename ID to EMP_ID;

Podemos ver o resultado do comando acima pela instrução abaixo:

Select * from EMPLOYEE;

EMP_IDNOMEERASALÁRIODOJ
134Sonal2423000, 001990-08-09
145Nikhil2728990.001990-08-09
167Soham2625000, 001990-08-09
234Yash32.35000, 001990-08-09
189Ritu2529000, 001990-08-09
190Rajesh28.29000, 001990-08-09

Descartando uma coluna da tabela existente

ALTER TABLE EMPLOYEE DROP COLUMN DOJ;

O comando acima eliminará a coluna 'DOJ' da tabela 'EMPLOYEE'.

Podemos ver os resultados pela declaração abaixo:

Select * from EMPLOYEE;

EMP_IDNOMEERASALÁRIO
134Sonal2423000, 00
145Nikhil2728990.00
167Soham2625000, 00
234Yash32.35000, 00
189Ritu2529000, 00
190Rajesh28.29000, 00

Adicionando restrição NOT NULL a uma coluna

Aqui a tabela 'EMPREGADO' já está criada e se queremos adicionar uma restrição NOT NULL à coluna 'SALARY', podemos fazê-lo como abaixo.

ALTER TABLE EMPLOYEE MODIFY SALARY DECIMAL(18, 2) NOT NULL;

Modificando o tipo de dados de uma coluna

A instrução abaixo pode ser usada para modificar o tipo de dados de uma coluna existente, como abaixo:

ALTER TABLE EMPLOYEE MODIFY NAME CHAR(50);

Vantagens

Abaixo estão as vantagens de usar o comando Alter:

  • O comando Alter é muito útil quando queremos modificar o banco de dados ou tabelas contidas em um banco de dados.
  • Com a ajuda do comando Alter, muitas modificações podem ser feitas se qualquer alteração no design do banco de dados for necessária sem perturbar o banco de dados existente ou os objetos relacionados a ele.
  • Podemos adicionar restrições a uma coluna mesmo após a criação da tabela.

Conclusão

A necessidade do comando ALTER é útil quando queremos alterar ou modificar o banco de dados existente, se algum requisito de negócios surgir após a conclusão do design. Podemos modificar facilmente o banco de dados ou as tabelas nele, usando o comando Alter. Mas os desenvolvedores devem verificar com as permissões ALTER fornecidas para os usuários enquanto usam o comando Alter para tabelas do banco de dados. Além disso, quando usamos o comando Alter para adicionar chave primária, devemos lembrar que a coluna da chave primária já deve ter sido criada, ou seja, quando a tabela foi criada para não conter valores nulos.

Artigos recomendados

Este é um guia para o SQL Alter Command. Aqui discutimos como usar o SQL adicionando os comandos Alter com exemplos e vantagens. Você também pode consultar o seguinte artigo para saber mais -

  1. Ferramentas de Gerenciamento SQL
  2. Funções de seqüência de caracteres T-SQL
  3. O que é injeção de SQL?
  4. Como conectar o banco de dados ao MySQL?