MySQL ALTER TABELA

Resumo : neste tutorial, você aprenderá como usar a ALTER TABLEinstrução MySQL para adicionar uma coluna, alterar uma coluna, renomear uma coluna, eliminar uma coluna e renomear uma tabela.

Configurando uma tabela de exemplo

Vamos criar uma tabela com o nome vehiclesda demonstração:

CREATE TABLE vehicles (
    vehicleId INT,
    year INT NOT NULL,
    make VARCHAR(100) NOT NULL,
    PRIMARY KEY(vehicleId)
);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL ALTER TABLE - tabela de exemplo

MySQL ALTER TABLE – Adicionar colunas a uma tabela

A ALTER TABLE ADDinstrução permite adicionar uma ou mais colunas a uma tabela.

1) Adicione uma coluna a uma tabela

Para adicionar uma coluna a uma tabela, você usa a ALTER TABLE ADDsintaxe:

ALTER TABLE table_name
ADD 
    new_column_name column_definition
    [FIRST | AFTER column_name]
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • table_name– especifique o nome da tabela à qual deseja adicionar uma nova coluna ou colunas após as ALTER TABLEpalavras-chave.
  • new_column_name– especifique o nome da nova coluna.
  • column_definition– especifique o tipo de dados, tamanho máximo e restrição de coluna da nova coluna
  • FIRST | AFTER column_nameespecifique a posição da nova coluna na tabela. Você pode adicionar uma coluna após uma coluna existente ( ATER column_name) ou como a primeira coluna ( FIRST). Se você omitir esta cláusula, a coluna será anexada ao final da lista de colunas da tabela.

O exemplo a seguir usa a ALTER TABLE ADDinstrução para adicionar uma coluna no final da vehiclestabela:

ALTER TABLE vehicles
ADD model VARCHAR(100) NOT NULL;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Esta instrução mostra a lista de colunas da vehiclestabela:

DESCRIBE vehicles;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Conforme mostrado claramente na saída, a coluna modelfoi adicionada à vehiclestabela.

2) Adicione várias colunas a uma tabela

Para adicionar várias colunas a uma tabela, use a seguinte forma de ALTER TALE ADDinstrução:

ALTER TABLE table_name
    ADD new_column_name column_definition
    [FIRST | AFTER column_name],
    ADD new_column_name column_definition
    [FIRST | AFTER column_name],
    ...;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por exemplo, esta instrução adiciona duas colunas colore noteà vehiclestabela:

ALTER TABLE vehicles
ADD color VARCHAR(50),
ADD note VARCHAR(255);
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Esta declaração mostra a nova estrutura da vehiclestabela:

DESCRIBE vehicles;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

MySQL ALTER TABLE - exemplo de adição de múltiplas colunas

MySQL ALTER TABLE – Modificar colunas

1) Modifique uma coluna

Aqui está a sintaxe básica para modificar uma coluna em uma tabela:

ALTER TABLE table_name
MODIFY column_name column_definition
[ FIRST | AFTER column_name];    
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

É uma boa prática visualizar os atributos de uma coluna antes de modificá-la.

Suponha que você queira alterar a notecoluna para uma NOT NULLcoluna com no máximo 100 caracteres.

Primeiro, mostre a lista de colunas da vehiclestabela:

DESCRIBE vehicles;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL ALTER TABLE - antes de modificar a coluna

Em seguida, modifique a notecoluna:

ALTER TABLE vehicles 
MODIFY note VARCHAR(100) NOT NULL;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Por fim, mostre a lista de colunas da vehiclestabela para verificar a alteração:

DESCRIBE vehicles;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL ALTER TABLE - após modificar coluna

2) Modifique várias colunas

A instrução a seguir permite modificar várias colunas:

ALTER TABLE table_name
    MODIFY column_name column_definition
    [ FIRST | AFTER column_name],
    MODIFY column_name column_definition
    [ FIRST | AFTER column_name],
    ...;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Primeiro, mostre as colunas atuais da vehiclestabela:

Segundo, use a ALTER TABLE MODIFYinstrução para modificar múltiplas colunas:

ALTER TABLE vehicles 
MODIFY year SMALLINT NOT NULL,
MODIFY color VARCHAR(20) NULL AFTER make;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste exemplo:

  • Primeiro, modifique o tipo de dados da yearcoluna de INTparaSMALLINT
  • Segundo, modifique a colorcoluna definindo o maximumcomprimento como 20, removendo a NOT NULLrestrição e alterando sua posição para aparecer após a makecoluna.

Terceiro, mostre a nova lista de colunas da vehiclestabela para verificar as modificações:

MySQL ALTER TABLE - depois de modificar múltiplas colunas

MySQL ALTER TABLE – Renomear uma coluna em uma tabela

Para renomear uma coluna, você usa a seguinte instrução:

ALTER TABLE table_name
    CHANGE COLUMN original_name new_name column_definition
    [FIRST | AFTER column_name];
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique o nome da tabela à qual a coluna pertence.
  • Segundo, especifique o nome da coluna e o novo nome seguido pela definição da coluna após as CHANGE COLUMNpalavras-chave.
  • Terceiro, use a opção FIRSTou AFTER column_namepara determinar a nova posição da coluna.

O exemplo a seguir usa a ALTER TABLE CHANGE COLUMNinstrução para renomear a coluna notepara vehicleCondition:

ALTER TABLE vehicles 
CHANGE COLUMN note vehicleCondition VARCHAR(100) NOT NULL;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Vamos revisar a lista de colunas da vehiclestabela:

DESCRIBE vehicles;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )
MySQL ALTER TABLE - após renomear coluna

MySQL ALTER TABLE – Eliminar uma coluna

Para eliminar uma coluna em uma tabela, você usa a ALTER TABLE DROP COLUMNinstrução:

ALTER TABLE table_name
DROP COLUMN column_name;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique o nome da tabela na qual deseja colocar uma coluna após as ALTER TABLEpalavras-chave.
  • Segundo, especifique o nome da coluna que deseja eliminar após as DROP COLUMNpalavras-chave.

Este exemplo mostra como remover a vehicleConditioncoluna da vehiclestabela:

ALTER TABLE vehicles
DROP COLUMN vehicleCondition;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

MySQL ALTER TABLE – Renomear tabela

Para renomear uma tabela , você usa a ALTER TABLE RENAME TOinstrução:

ALTER TABLE table_name
RENAME TO new_table_name;
Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Nesta sintaxe:

  • Primeiro, especifique o nome da tabela que deseja renomear após as ALTER TABLEpalavras-chave.
  • Segundo, especifique o novo nome da tabela após as RENAME TOpalavras-chave.

Este exemplo renomeia a vehiclestabela para cars:

ALTER TABLE vehicles 
RENAME TO cars; Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Neste tutorial, você aprendeu como usar a ALTER TABLEinstrução MySQL para adicionar uma coluna, modificar uma coluna, renomear uma coluna, eliminar uma coluna e renomear uma tabela.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *