Directorio de artículos
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!
📚 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!