O comando MODIFY COLUMN é utilizado para alterar a definição de uma coluna existente em uma tabela.
Com ele podemos modificar o tipo de dado, tamanho, regras de preenchimento e outras características de uma coluna.
ALTER TABLE nome_tabela
MODIFY COLUMN nome_coluna
novo_tipo;
Criando uma tabela de clientes:
CREATE TABLE clientes (
id INT PRIMARY KEY,
nome VARCHAR(50)
);
Podemos aumentar o limite de caracteres de um campo.
ALTER TABLE clientes
MODIFY COLUMN nome VARCHAR(150);
O campo nome passa de 50 para 150 caracteres.
É possível modificar o tipo de armazenamento da informação.
ALTER TABLE produtos
MODIFY COLUMN preco DECIMAL(10,2);
Podemos tornar uma coluna obrigatória.
ALTER TABLE clientes
MODIFY COLUMN email
VARCHAR(150) NOT NULL;
ALTER TABLE clientes
MODIFY COLUMN email
VARCHAR(150);
Agora a coluna poderá aceitar valores NULL.
ALTER TABLE usuarios
MODIFY COLUMN ativo
BOOLEAN DEFAULT TRUE;
Novos registros receberão TRUE automaticamente.
Podemos modificar mais de uma propriedade ao mesmo tempo.
ALTER TABLE funcionarios
MODIFY COLUMN salario
DECIMAL(12,2) NOT NULL
DEFAULT 0;
DESCRIBE funcionarios;
O comando mostra as configurações atuais das colunas.
CREATE TABLE produtos (
id INT PRIMARY KEY,
nome VARCHAR(50),
preco INT
);
ALTER TABLE produtos
MODIFY COLUMN nome VARCHAR(200) NOT NULL;
ALTER TABLE produtos
MODIFY COLUMN preco DECIMAL(10,2);
| MODIFY COLUMN | CHANGE COLUMN |
|---|---|
| Altera definição | Altera definição e nome |
| Mantém o nome da coluna | Pode renomear coluna |
| Mais utilizado para ajustes | Usado para alteração completa |
| Situação | Uso do MODIFY COLUMN |
|---|---|
| Aumento de limite | VARCHAR maior |
| Melhoria financeira | Alterar INT para DECIMAL |
| Nova regra | Adicionar NOT NULL |
| Padronização | Definir DEFAULT |