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 nome_tabela
comando;
Criando uma tabela de clientes:
CREATE TABLE clientes (
id INT PRIMARY KEY,
nome VARCHAR(100)
);
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.
Podemos modificar o tipo ou tamanho de uma coluna.
ALTER TABLE clientes
MODIFY COLUMN nome VARCHAR(200);
Podemos alterar o nome de uma coluna existente.
ALTER TABLE clientes
RENAME COLUMN nome
TO nome_cliente;
É possível adicionar regras em tabelas já criadas.
ALTER TABLE clientes
ADD CONSTRAINT email_unico
UNIQUE(email);
ALTER TABLE pedidos
ADD CONSTRAINT fk_cliente
FOREIGN KEY(cliente_id)
REFERENCES clientes(id);
ALTER TABLE clientes
RENAME TO clientes_novo;
A remoção de colunas será estudada em detalhes na próxima aula.
ALTER TABLE clientes
DROP COLUMN telefone;
| 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 |
| 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 |