Artigo Diretório
MySQL alterar adicionar para aumentar várias posições de campo? Explicação detalhada do uso da instrução de coluna de modificação
MySQL comando ALTER
Quando precisamos modificar o nome da tabela de dados ou modificar os campos da tabela de dados, precisamos usar o comando MySQL ALTER.
Antes de iniciar este tutorial, vamos criar uma tabela chamada: testalter_tbl.
root@host# mysql -u root -p password; Enter password:******* mysql> use chenweiliang; Database changed mysql> create table testalter_tbl -> ( -> i INT, -> c CHAR(1) -> ); Query OK, 0 rows affected (0.05 sec) mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | i | int(11) | YES | | NULL | | | c | char(1) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Excluir, adicionar ou modificar campos de tabela
O comando a seguir usa o comando ALTER com a cláusula DROP para descartar a coluna i da tabela criada acima:
mysql> ALTER TABLE testalter_tbl DROP i;
DROP não pode ser usado para excluir um campo se houver apenas um campo na tabela de dados.
A cláusula ADD é usada no MySQL para adicionar colunas à tabela de dados. O exemplo a seguir adiciona o campo i à tabela testalter_tbl e define o tipo de dados:
mysql> ALTER TABLE testalter_tbl ADD i INT;
Após executar o comando acima, o campo i é adicionado automaticamente ao final dos campos da tabela de dados.
mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Se você precisar especificar a localização do novo campo, você pode usar a palavra-chave FIRST fornecida pelo MySQL (definidaPosicionamentoprimeira coluna), AFTER nome do campo (definido após um campo).
Tente a seguinte instrução ALTER TABLE e, após a execução bem-sucedida, use SHOW COLUMNS para visualizar as alterações na estrutura da tabela:
ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT FIRST; ALTER TABLE testalter_tbl DROP i; ALTER TABLE testalter_tbl ADD i INT AFTER c;
As palavras-chave FIRST e AFTER são usadas apenas na cláusula ADD, portanto, se você deseja redefinir a posição de um campo da tabela de dados, primeiro use DROP para excluir o campo e, em seguida, use ADD para adicionar o campo e definir a posição.
Modificar o tipo e o nome do campo
Se você precisar modificar o tipo e o nome do campo, poderá usar a cláusula MODIFY ou CHANGE no comando ALTER.
Por exemplo, para alterar o tipo do campo c de CHAR(1) para CHAR(10), execute o seguinte comando:
mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);
Com a cláusula CHANGE, a sintaxe é muito diferente.Imediatamente após a palavra-chave CHANGE está o nome do campo que você deseja modificar e, em seguida, especifique o novo nome e tipo de campo.Tente o seguinte exemplo:
mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;
mysql> ALTER TABLE testalter_tbl CHANGE j j INT;
Efeito de ALTER TABLE em valores nulos e padrão
Ao modificar um campo, você pode especificar se deseja incluir apenas ou definir um valor padrão.
O exemplo a seguir especifica que o campo j é NOT NULL e o valor padrão é 100.
mysql> ALTER TABLE testalter_tbl -> MODIFY j BIGINT NOT NULL DEFAULT 100;
Se você não definir um valor padrão, o MySQL definirá automaticamente o campo como NULL por padrão.
Modificar valor padrão do campo
Você pode usar ALTER para alterar o valor padrão de um campo, tente os seguintes exemplos:
mysql> ALTER TABLE testalter_tbl ALTER i SET DEFAULT 1000; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | 1000 | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
Você também pode usar o comando ALTER com a cláusula DROP para remover o valor padrão de um campo, como no exemplo a seguir:
mysql> ALTER TABLE testalter_tbl ALTER i DROP DEFAULT; mysql> SHOW COLUMNS FROM testalter_tbl; +-------+---------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+---------+------+-----+---------+-------+ | c | char(1) | YES | | NULL | | | i | int(11) | YES | | NULL | | +-------+---------+------+-----+---------+-------+ 2 rows in set (0.00 sec) Changing a Table Type:
A modificação do tipo de tabela de dados pode ser feita usando o comando ALTER e a cláusula TYPE.Experimente o seguinte exemplo, onde alteramos o tipo da tabela testalter_tbl para MYISAM:
Nota:Para visualizar o tipo de tabela de dados, você pode usar a instrução SHOW TABLE STATUS.
mysql> ALTER TABLE testalter_tbl ENGINE = MYISAM; mysql> SHOW TABLE STATUS LIKE 'testalter_tbl'\G *************************** 1. row **************** Name: testalter_tbl Type: MyISAM Row_format: Fixed Rows: 0 Avg_row_length: 0 Data_length: 0 Max_data_length: 25769803775 Index_length: 1024 Data_free: 0 Auto_increment: NULL Create_time: 2007-06-03 08:04:36 Update_time: 2007-06-03 08:04:36 Check_time: NULL Create_options: Comment: 1 row in set (0.00 sec)
Modificar nome da tabela
Se você precisar modificar o nome da tabela de dados, poderá usar a cláusula RENAME na instrução ALTER TABLE para fazer isso.
Tente o exemplo a seguir para renomear a tabela de dados testalter_tbl para alter_tbl:
mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;
O comando ALTER também pode ser usado para criar e excluir índices nas tabelas de dados do MySQL, que apresentaremos nos próximos capítulos.
alterar outros usos
Modifique o mecanismo de armazenamento: modifique-o para myisam
alter table tableName engine=myisam;
Remover restrição de chave estrangeira: keyName é um alias de chave estrangeira
alter table tableName drop foreign key keyName;
A posição relativa do campo modificado: aqui nome1 é o campo a ser modificado, tipo1 é o tipo original do campo, primeiro e depois podem ser selecionados, o que deve ser óbvio, primeiro é colocado primeiro e depois é colocado depois do nome2 campo
alter table tableName modify name1 type1 first|after name2;
Hope Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartilhou "MySQL alter add para aumentar várias posições de campo? Explicação detalhada do uso da instrução Modify Column" é útil para você.
Bem-vindo a compartilhar o link deste artigo:https://www.chenweiliang.com/cwl-495.html
Bem-vindo ao canal Telegram do blog de Chen Weiliang para receber as últimas atualizações!
📚 Este guia contém um valor enorme, 🌟Esta é uma oportunidade rara, não perca! ⏰⌛💨
Compartilhe e curta se gostar!
Seus compartilhamentos e curtidas são nossa motivação contínua!