Pular para o conteúdo principal
Documentos
FunçõesExpressõesKeywordsDeclaraçõesCláusulas

Declaração MySQL ALTER TABLE

A instrução `ALTER TABLE` no MySQL é usada para modificar a estrutura de uma tabela existente. Ele permite que você adicione, exclua ou altere colunas e restrições em uma tabela, tornando-o versátil para o gerenciamento do esquema do banco de dados.

Uso

A instrução `ALTER TABLE` é usada quando você precisa alterar a estrutura de uma tabela e, ao mesmo tempo, garantir a retenção de dados. Ele pode ser usado para renomear tabelas, adicionar ou remover colunas e modificar colunas existentes.


ALTER TABLE table_name
[ADD | DROP | MODIFY | CHANGE | RENAME TO] [COLUMN column_name] [column_definition];

Nessa sintaxe, `ALTER TABLE nome_da_tabela` especifica a tabela a ser alterada. Ações como `ADD`, `DROP` e `MODIFY` se aplicam a colunas, enquanto `RENAME TO` é usado para tabelas. Observe que `CHANGE` é usado para renomear uma coluna.

Exemplos

1. Adicionando uma coluna


ALTER TABLE employees
ADD COLUMN birthdate DATE;

Este exemplo adiciona uma nova coluna `birthdate` do tipo `DATE` à tabela `employees`.

2. Modificação de uma coluna


ALTER TABLE products
MODIFY COLUMN price DECIMAL(10, 2);

Aqui, a coluna `price` na tabela `products` é modificada para ter um tipo de dados `DECIMAL` com uma precisão de 10 e uma escala de 2.

3. Renomear uma coluna


ALTER TABLE employees
CHANGE COLUMN old_name new_name VARCHAR(255);

Este exemplo renomeia uma coluna `old_name` para `new_name` com um tipo de dados `VARCHAR(255)` na tabela `employees`.

4. Renomear uma tabela


ALTER TABLE orders
RENAME TO customer_orders;

Esse exemplo renomeia a tabela `orders` para `customer_orders`, o que pode ser útil para uma melhor identificação da tabela.

5. Adição de uma chave primária


ALTER TABLE orders
ADD PRIMARY KEY (order_id);

Isso adiciona uma restrição de chave primária à coluna `order_id` da tabela `orders`.

6. Eliminação de uma chave estrangeira


ALTER TABLE orders
DROP FOREIGN KEY fk_customer;

Isso remove a restrição de chave estrangeira denominada `fk_customer` da tabela `orders`.

7. Definição de um valor padrão


ALTER TABLE products
ALTER COLUMN price SET DEFAULT 0.00;

Isso define o valor padrão da coluna `preço` como `0,00` na tabela `produtos`.

Dicas e práticas recomendadas

  • Garantir a integridade dos dados. Sempre faça backup dos seus dados e teste as operações `ALTER TABLE` em um ambiente que não seja de produção para se proteger contra a perda de dados e garantir a execução.
  • Minimizar o tempo de inatividade. Esteja ciente de que a alteração de tabelas grandes pode bloquear a tabela por um tempo significativo; planeje essas alterações fora do horário de pico. Algumas operações podem reconstruir a tabela inteira, afetando o desempenho.
  • Use nomes descritivos. Ao adicionar colunas, escolha nomes claros e descritivos para manter a clareza no esquema do banco de dados.
  • Considerações sobre compatibilidade. Esteja atento a possíveis problemas ao alterar tabelas com restrições de chave estrangeira, pois elas podem afetar tabelas relacionadas.

Aprimoramento de SQL para iniciantes

Adquira as habilidades de SQL para interagir com seus dados e consultá-los.
Comece a aprender de graça