MariaDB - Alterar Comando

O comando ALTER fornece uma maneira de alterar a estrutura de uma tabela existente, significando modificações como remover ou adicionar colunas, modificar índices, alterar tipos de dados ou alterar nomes. ALTER também espera para aplicar as alterações quando um bloqueio de metadados está ativo.

Usando ALTER para modificar colunas

ALTER emparelhado com DROP remove uma coluna existente. No entanto, ele falhará se a coluna for a única coluna restante.

Reveja o exemplo fornecido abaixo -

mysql> ALTER TABLE products_tbl DROP version_num;

Use uma instrução ALTER ... ADD para adicionar colunas -

mysql> ALTER TABLE products_tbl ADD discontinued CHAR(1);

Use as palavras-chave FIRST e AFTER para especificar o posicionamento da coluna -

ALTER TABLE products_tbl ADD discontinued CHAR(1) FIRST;
ALTER TABLE products_tbl ADD discontinued CHAR(1) AFTER quantity;

Observe que as palavras-chave FIRST e AFTER se aplicam apenas às instruções ALTER ... ADD. Além disso, você deve remover uma tabela e adicioná-la para reposicioná-la.

Altere uma definição ou nome de coluna usando a cláusula MODIFY ou CHANGE em uma instrução ALTER. As cláusulas têm efeitos semelhantes, mas utilizam sintaxe substancialmente diferente.

Reveja um exemplo CHANGE fornecido abaixo -

mysql> ALTER TABLE products_tbl CHANGE discontinued status CHAR(4);

Em uma instrução usando CHANGE, especifique a coluna original e a nova coluna que a substituirá. Reveja um exemplo de MODIFICAR abaixo -

mysql> ALTER TABLE products_tbl MODIFY discontinued CHAR(4);

O comando ALTER também permite alterar os valores padrão. Reveja um exemplo -

mysql> ALTER TABLE products_tbl ALTER discontinued SET DEFAULT N;

Você também pode usá-lo para remover restrições padrão emparelhando-o com uma cláusula DROP -

mysql> ALTER TABLE products_tbl ALTER discontinued DROP DEFAULT;

Usando ALTER para modificar tabelas

Altere o tipo de tabela com a cláusula TYPE -

mysql> ALTER TABLE products_tbl TYPE = INNODB;

Renomear uma tabela com a palavra-chave RENAME -

mysql> ALTER TABLE products_tbl RENAME TO products2016_tbl;