Como alterar tabelas MySQL

Como adicionar, eliminar, renomear e alterar atributos de colunas.

Por Vinícius Delgado


Publicado em: 03/1/06
Valorize este artigo:
Construir tabelas MySQL faz parte do dia-a-dia do desenvolvimento de sistemas em PHP, e é bem farto o material disponível sobre criação de tabelas, atributos, colunas, etc. No entanto, quando precisamos alterar tabelas já abastecidas com dados, a documentação é bem mais escassa, e este tutorial tenta cobrir esta lacuna, ensinando como adicionar, eliminar, renomear e alterar atributos de colunas. Tudo sem dor.

O.b.s: Os comandos em MySQL estão escrito em maiúsculo por uma questão didática. Ao praticar o exercício ou no seu trabalho diário, pode escrever tudo em minúsculo, como preferir.

Começamos com a tabela hipotética clientes, criada com os seguintes parâmetros:

create table clientes
(id int unsigned not null auto_increment primary key,
nome char(80) not null,
fone int not null,
endereco char(160) not null);

O comando básico para se alterar colunas é o ALTER TABLE, seguido do nome da tabela. Então, qualquer query de alteração da nossa tabela clientes começará da seguinte forma:

ALTER TABLE clientes

1. Adicionando colunas:

Para adicionar colunas a uma tabela MySQL use o comando ADD, seguido do nome e dos atributos da coluna que será adicionada, e da sua posição dentro da tabela, com o auxílio do parâmetro AFTER. Considerando que adicionaremos a coluna email à tabela clientes, nosso código fica assim:

ALTER TABLE clientes ADD email char(80) not null AFTER fone;

Para ver o resultado das alterações, dê o comando DESCRIBE clientes.

2. Eliminando colunas:

O comando básico para se eliminar colunas de uma tabela é DROP, seguido do nome da coluna. Use este comando com cuidado, pois todas as informações contidas dentro da coluna serão perdidas. Assim, para eliminar nossa recém criada coluna email, usaremos a seguinte query:

ALTER TABLE clientes DROP email;

Testaram? Simples e legal.

3. Alterando colunas:

O comando básico para alteração de atributos e nome de colunas é CHANGE, seguida da denominação da coluna a ser alterada e dos novos atributos. Para mudar os atributos da coluna fone, utilizaremos a seguinte query:

ALTER TABLE clientes CHANGE fone fone char(30) not null;

Vocês devem ter percebido que a palavra 'fone' foi utilizada duas vezes. Isso ocorre porque se indica primeiro a coluna e depois seus novos atributos, e o nome da coluna é um de seus atributos.

Supomos que queiramos agora somente mudar o nome da coluna, e manter seus demais atributos:

ALTER TABLE clientes CHANGE fone telefone char(30) not null;

Veja as alterações com DESCRIBE clientes;

Muito cuidado ao se alterar atributos de colunas, especialmente datatypes, pois todas as informações que não podem ser interpretadas como características do novo datatype serão perdidas.

Boa sorte em seus trabalhos e até a próxima.





Comentários do artigo
Foram enviados 8 comentários ao artigo
8 comentários não revisados
0 comentários revisados

Usuários :    login / registro

Manuais relacionados
Categorias relacionadas
O autor

Home | Sobre nós | Copyright | Anuncie | Entrar em contato