MySQL modifica engadir para aumentar varias posicións de campo? Explicación detallada do uso da instrución de columna de modificación

MySQL modificar engadir para aumentar varias posicións de campo? Explicación detallada do uso da instrución de columna modificar

MySQL Comando ALTER

Cando necesitemos modificar o nome da táboa de datos ou modificar os campos da táboa de datos, necesitamos usar o comando ALTER de MySQL.

Antes de comezar este tutorial, creemos unha táboa 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)

Eliminar, engadir ou modificar campos da táboa

O seguinte comando usa o comando ALTER coa cláusula DROP para soltar a columna i da táboa creada anteriormente:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP non se pode usar para eliminar un campo se só queda un campo na táboa de datos.

A cláusula ADD úsase en MySQL para engadir columnas á táboa de datos. O seguinte exemplo engade o campo i á táboa testalter_tbl e define o tipo de datos:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Despois de executar o comando anterior, o campo i engádese automaticamente ao final dos campos da táboa de datos.

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 precisa especificar a localización do novo campo, pode usar a palabra clave FIRST proporcionada por MySQL (configuradaPosicionamentoprimeira columna), AFTER nome do campo (definido despois dun campo).

Probe a seguinte instrución ALTER TABLE e, despois da execución exitosa, use SHOW COLUMNS para ver os cambios na estrutura da táboa:

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 palabras clave FIRST e AFTER só se usan na cláusula ADD, polo que se queres restablecer a posición dun campo da táboa de datos, primeiro debes usar DROP para eliminar o campo e despois usar ADD para engadir o campo e establecer a posición.


Modificar o tipo e o nome do campo

Se precisa modificar o tipo e o nome do campo, pode utilizar a cláusula MODIFY ou CHANGE no comando ALTER.

Por exemplo, para cambiar o tipo de campo c de CHAR(1) a CHAR(10), execute o seguinte comando:

mysql> ALTER TABLE testalter_tbl MODIFY c CHAR(10);

Coa cláusula CHANGE, a sintaxe é moi diferente.Inmediatamente despois da palabra clave CHANGE aparece o nome do campo que quere modificar e, a continuación, especifique o novo nome e tipo de campo.Proba o seguinte exemplo:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Efecto de ALTER TABLE sobre valores nulos e predeterminados

Cando modifica un campo, pode especificar se quere incluír só ou se establecer un valor predeterminado.

O seguinte exemplo especifica que o campo j NON é NULL e que o valor predeterminado é 100.

mysql> ALTER TABLE testalter_tbl 
    -> MODIFY j BIGINT NOT NULL DEFAULT 100;

Se non establece un valor predeterminado, MySQL establecerá automaticamente o campo como NULL por defecto.


Modificar o valor predeterminado do campo

Podes usar ALTER para cambiar o valor predeterminado dun campo, proba 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)

Tamén pode usar o comando ALTER coa cláusula DROP para eliminar o valor predeterminado dun campo, como no seguinte exemplo:

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 modificación do tipo de táboa de datos pódese facer mediante o comando ALTER e a cláusula TYPE.Proba o seguinte exemplo, onde cambiamos o tipo da táboa testalter_tbl a MYISAM:

Nota:Para ver o tipo de táboa de datos, pode usar a instrución 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 o nome da táboa

Se precisa modificar o nome da táboa de datos, pode utilizar a cláusula RENAME na instrución ALTER TABLE para facelo.

Probe o seguinte exemplo para renomear a táboa de datos testalter_tbl a alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

O comando ALTER tamén se pode usar para crear e eliminar índices en táboas de datos MySQL, que presentaremos nos próximos capítulos.

alterar outros usos

Modificar o motor de almacenamento: modifícao a myisam

alter table tableName engine=myisam;

Eliminar a restrición de chave estranxeira: keyName é un alias de chave estranxeira

alter table tableName drop foreign key keyName;

A posición relativa do campo modificado: aquí nome1 é o campo a modificar, tipo1 é o tipo orixinal do campo, primeiro e despois pódense seleccionar, o que debería ser obvio, primeiro colócase primeiro e despois colócase despois do nome2. campo

alter table tableName modify name1 type1 first|after name2;

Blog de Hope Chen Weiliang ( https://www.chenweiliang.com/ ) compartiu "MySQL alterar engadir para aumentar varias posicións de campo? A explicación detallada do uso da declaración Modificar columna" é útil para vostede.

Benvido a compartir a ligazón deste artigo:https://www.chenweiliang.com/cwl-495.html

Benvido á canle de Telegram do blog de Chen Weiliang para recibir as últimas actualizacións.

🔔 Sexa o primeiro en obter a valiosa "Guía de uso da ferramenta de intelixencia artificial de marketing de contidos de ChatGPT" no directorio principal da canle. 🌟
📚 Esta guía contén un gran valor, 🌟Esta é unha oportunidade rara, non a perdas! ⏰⌛💨
Comparte e da like se che gusta!
O teu compartir e gústame son a nosa motivación continua!

 

发表 评论

O seu enderezo de correo electrónico non se publicará. Utilízanse os campos obrigatorios * Etiqueta

desprázate cara arriba