🛠️ ALTER TABLE no MySQL

Introdução

O comando ALTER TABLE pertence à linguagem DDL (Data Definition Language) e é utilizado para modificar a estrutura de uma tabela existente.

Com ele podemos adicionar, alterar ou remover colunas, constraints e outras definições da tabela.

📌 ALTER TABLE permite evoluir a estrutura do banco sem precisar criar uma nova tabela.

Objetivos do ALTER TABLE

Sintaxe Básica

ALTER TABLE nome_tabela
comando;

Exemplo Inicial

Criando uma tabela de clientes:

CREATE TABLE clientes (

 id INT PRIMARY KEY,

 nome VARCHAR(100)

);

Adicionar uma Coluna

Para adicionar uma nova coluna utilizamos ADD COLUMN.

ALTER TABLE clientes

ADD COLUMN email VARCHAR(150);

Após o comando, a tabela clientes terá uma nova coluna chamada email.

Alterar Tipo de Dados

Podemos modificar o tipo ou tamanho de uma coluna.

ALTER TABLE clientes

MODIFY COLUMN nome VARCHAR(200);

Renomear Coluna

Podemos alterar o nome de uma coluna existente.

ALTER TABLE clientes

RENAME COLUMN nome
TO nome_cliente;

Adicionar Constraint

É possível adicionar regras em tabelas já criadas.

ALTER TABLE clientes

ADD CONSTRAINT email_unico

UNIQUE(email);

Adicionar Chave Estrangeira

ALTER TABLE pedidos

ADD CONSTRAINT fk_cliente

FOREIGN KEY(cliente_id)

REFERENCES clientes(id);

Alterar Nome da Tabela

ALTER TABLE clientes

RENAME TO clientes_novo;

Remover Colunas

A remoção de colunas será estudada em detalhes na próxima aula.

ALTER TABLE clientes

DROP COLUMN telefone;
⚠️ Atenção: remover uma coluna pode causar perda definitiva dos dados.

Principais Comandos ALTER TABLE

Comando Função
ADD COLUMN Adicionar coluna
MODIFY COLUMN Alterar tipo de coluna
RENAME COLUMN Renomear coluna
DROP COLUMN Excluir coluna
ADD CONSTRAINT Criar restrições

Cuidados ao Utilizar ALTER TABLE

Aplicações no Mundo Real

Situação Uso do ALTER TABLE
Novo cadastro Adicionar coluna
Mudança de regra Adicionar constraint
Melhoria do sistema Alterar estrutura
Evolução do banco Ajustar tabelas existentes

Resumo da Aula

🎓 Aula concluída! Agora você conhece o comando ALTER TABLE e sabe como modificar a estrutura de tabelas existentes no MySQL.