MySQL altera adicionar para aumentar várias posições de campo? Explicação detalhada do uso da instrução de coluna de modificação

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!

🔔 Seja o primeiro a obter o valioso "Guia de uso da ferramenta de IA de marketing de conteúdo ChatGPT" no diretório superior do canal! 🌟
📚 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!

 

发表 评论

Seu endereço de e-mail não será publicado. 必填 项 已 用 * 标注

滚动 到 顶部