Cursos / Informática para Internet / Banco de dados / Aula

arrow_back Aula 12 - Linguagem SQL – Alteração da estrutura de tabelas e ambientes de múltiplas tabelas

Alteração da estrutura de uma tabela - pt.2

Uma boa prática de programação é ter apenas colunas necessárias nas tabelas de um banco de dados. Atributos (ou colunas) desnecessários ocupam espaço de armazenamento e provocam uma redução no tempo de resposta a consultas no seu SGBD.

Os atributos desnecessários em tabelas podem ser eliminados com o comando ALTER TABLE juntamente com o comando DROP COLUMN. Mas, atenção! Utilize o comando DROP COLUMN com cuidado, pois ele irá excluir todos os dados contidos na coluna em questão. A sintaxe do comando ALTER para excluir colunas em tabelas é descrita no quadro a seguir.

Vamos praticar o comando ALTER TABLE com DROP COLUMN excluindo os atributos fil_direcao e fil_atores na tabela filmes?

Observe com cuidado as exclusões das colunas fil_direcao e fil_atores na Figura 4. Percebeu que na última exclusão não foi colocado o termo COLUMN (coluna)? No MySQL, o termo COLUMN é opcional.

Tela do <span class='italico'>My</span>SQL após os comandos DROP e DROP COLUMN.

É possível ainda modificar colunas existentes em uma tabela. Você pode alterar, por exemplo, a definição da coluna ou mesmo o nome da coluna.

Para modificar o nome de uma coluna, devemos utilizar o comando CHANGE COLUMN. A sintaxe para modificar uma coluna é apresentada no quadro a seguir:

Vejamos esse comando na prática:

No exemplo acima, modificamos o nome do campo cli_email da tabela clientes para cli_endereco_eletronico e alteramos ainda a definição da coluna de varchar(50) para varchar(80).

E se quiséssemos apenas modificar a definição de uma coluna? Será que é necessário modificar também o nome da coluna? A resposta é não. O comando MODIFY COLUMN permite modificar a definição de uma coluna sem precisarmos alterar o nome da coluna.

Veja a sintaxe:

Vejamos um exemplo prático para que seja possível entender melhor o comando acima:

No exemplo acima, alteramos a definição da coluna cli_nome da tabela clientes. Trocamos de varchar(30) para varchar(50).

A Figura 5 abaixo mostra como ficou a tabela clientes após modificarmos as colunas cli_nome e cli_email.

Tela do <span class='italico'>My</span>SQL após os comandos  DESC clientes, ALTER TABLE ... CHANGE COLUMN ... e ALTER TABLE ... MODIFY COLUMN ..., respectivamente.

Versão 5.3 - Todos os Direitos reservados