MySQL alter add para aumentar múltiples posiciones de campo? Explicación detallada del uso de la declaración de columna de modificación

MySQL ¿alterar agregar para aumentar varias posiciones de campo? Explicación detallada del uso de la declaración de columna de modificación

MySQL comando ALTERAR

Cuando necesitamos modificar el nombre de la tabla de datos o modificar los campos de la tabla de datos, necesitamos usar el comando MySQL ALTER.

Antes de comenzar este tutorial, creemos una tabla llamada: 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, agregar o modificar campos de la tabla

El siguiente comando usa el comando ALTER con la cláusula DROP para eliminar la columna i de la tabla creada anteriormente:

mysql> ALTER TABLE testalter_tbl  DROP i;

DROP no se puede usar para eliminar un campo si solo queda un campo en la tabla de datos.

La cláusula ADD se usa en MySQL para agregar columnas a la tabla de datos.El siguiente ejemplo agrega el campo i a la tabla testalter_tbl y define el tipo de datos:

mysql> ALTER TABLE testalter_tbl ADD i INT;

Después de ejecutar el comando anterior, el campo i se agrega automáticamente al final de los campos de la tabla 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)

Si necesita especificar la ubicación del nuevo campo, puede usar la palabra clave FIRST proporcionada por MySQL (establecerPosicionamientoprimera columna), DESPUÉS del nombre del campo (establecido después de un campo).

Pruebe la siguiente declaración ALTER TABLE y, después de una ejecución exitosa, use SHOW COLUMNS para ver los cambios en la estructura de la tabla:

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;

Las palabras clave FIRST y AFTER solo se usan en la cláusula ADD, por lo que si desea restablecer la posición de un campo de la tabla de datos, debe usar DROP para eliminar el campo y luego ADD para agregar el campo y establecer la posición.


Modificar tipo de campo y nombre

Si necesita modificar el tipo y el nombre del campo, puede usar la cláusula MODIFY o CHANGE en el comando ALTER.

Por ejemplo, para cambiar el tipo de campo c de CHAR(1) a CHAR(10), ejecute el siguiente comando:

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

Con la cláusula CHANGE, la sintaxis es muy diferente.Inmediatamente después de la palabra clave CHANGE se encuentra el nombre del campo que desea modificar y luego especifique el nuevo nombre y tipo de campo.Pruebe el siguiente ejemplo:

mysql> ALTER TABLE testalter_tbl CHANGE i j BIGINT;

mysql> ALTER TABLE testalter_tbl CHANGE j j INT;

Efecto de ALTER TABLE en valores nulos y predeterminados

Cuando modifica un campo, puede especificar si incluir solo o establecer un valor predeterminado.

El siguiente ejemplo especifica que el campo j NO ES NULO y el valor predeterminado es 100.

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

Si no establece un valor predeterminado, MySQL establecerá automáticamente el campo en NULL de forma predeterminada.


Modificar el valor predeterminado del campo

Puede usar ALTER para cambiar el valor predeterminado de un campo, pruebe los siguientes ejemplos:

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)

También puede usar el comando ALTER con la cláusula DROP para eliminar el valor predeterminado de un campo, como en el siguiente ejemplo:

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:

La modificación del tipo de tabla de datos se puede realizar mediante el comando ALTER y la cláusula TYPE.Pruebe el siguiente ejemplo, donde cambiamos el tipo de la tabla testalter_tbl a MYISAM:

Nota:Para ver el tipo de tabla de datos, puede usar la instrucció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 el nombre de la tabla

Si necesita modificar el nombre de la tabla de datos, puede usar la cláusula RENAME en la instrucción ALTER TABLE para hacerlo.

Pruebe el siguiente ejemplo para cambiar el nombre de la tabla de datos testalter_tbl a alter_tbl:

mysql> ALTER TABLE testalter_tbl RENAME TO alter_tbl;

El comando ALTER también se puede usar para crear y eliminar índices en tablas de datos de MySQL, que presentaremos en los próximos capítulos.

alterar otros usos

Modificar el motor de almacenamiento: modificarlo a myisam

alter table tableName engine=myisam;

Eliminar restricción de clave externa: keyName es un alias de clave externa

alter table tableName drop foreign key keyName;

La posición relativa del campo modificado: aquí nombre1 es el campo que desea modificar, tipo1 es el tipo original del campo, y puede elegir primero y después, lo que debería ser obvio, primero se coloca primero y después es colocado después del campo name2

alter table tableName modify name1 type1 first|after name2;

Esperanza Chen Weiliang Blog ( https://www.chenweiliang.com/ ) compartió "MySQL alter add para aumentar múltiples posiciones de campo? Explicación detallada del uso de la declaración de modificación de columna" es útil para usted.

Bienvenido a compartir el enlace de este artículo:https://www.chenweiliang.com/cwl-495.html

¡Bienvenido al canal de Telegram del blog de Chen Weiliang para obtener las últimas actualizaciones!

🔔 ¡Sea el primero en obtener la valiosa "Guía de uso de la herramienta de inteligencia artificial para marketing de contenidos ChatGPT" en el directorio superior del canal! 🌟
📚 Esta guía contiene un gran valor. 🌟Esta es una oportunidad única, ¡no la pierdas! ⏰⌛💨
¡Comparte y dale me gusta si te gusta!
¡Su compartir y Me gusta son nuestra motivación continua!

 

发表 评论

Su dirección de correo electrónico no será publicada. 项 已 用 * 标注

滚动 到 顶部