MySQL: sentencia ALTER TABLE

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MySQL: sentencia ALTER TABLE

Este tutorial de MySQL explica cómo usar MySQL sentencia ALTER TABLE Agregue columnas, modifique columnas, elimine columnas, cambie el nombre de las columnas o cambie el nombre de las tablas (con sintaxis y ejemplos).

describir

La instrucción MySQL ALTER TABLE se usa para agregar, modificar o eliminar/eliminar columnas en una tabla. La declaración MySQL ALTER TABLE también se usa para cambiar el nombre de las tablas.

Agregar columnas a la tabla

sintaxis

La sintaxis para agregar una columna a una tabla en MySQL (usando la instrucción ALTER TABLE) es:

ALTER TABLE table_name
  ADD new_column_name column_definition
    [ FIRST | AFTER column_name ];

table_name El nombre de la tabla a modificar. new_column_name El nombre de la nueva columna que se agregará a la tabla. column_definition El tipo de datos y la definición de la columna (NULL o NOT NULL, etc.). primero | DESPUÉS nombre_columna Opcional. Le dice a MySQL en qué lugar de la tabla debe crear la columna. Si no se especifica este parámetro, la nueva columna se agregará al final de la tabla.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para agregar una columna a una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  ADD last_name varchar(40) NOT NULL
    AFTER contact_id;

Este ejemplo de MySQL ALTER TABLE agregará una columna llamada last_name a la tabla de contactos. Se creará como una columna NOT NULL y aparecerá después del campo contact_id en la tabla.

Agregar varias columnas a una tabla

sintaxis

La sintaxis para agregar múltiples columnas a una tabla en MySQL (usando la instrucción ALTER TABLE) es:

ALTER TABLE table_name
  ADD new_column_name column_definition
    [ FIRST | AFTER column_name ],
  ADD new_column_name column_definition
    [ FIRST | AFTER column_name ],
  ...
;

table_name El nombre de la tabla a modificar. new_column_name El nombre de la nueva columna que se agregará a la tabla. column_definition El tipo de datos y la definición de la columna (NULL o NOT NULL, etc.). primero | DESPUÉS nombre_columna Opcional. Le dice a MySQL en qué lugar de la tabla debe crear la columna. Si no se especifica este parámetro, la nueva columna se agregará al final de la tabla.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para agregar varias columnas a una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  ADD last_name varchar(40) NOT NULL
    AFTER contact_id,
  ADD first_name varchar(35) NULL
    AFTER last_name;

Este ejemplo de ALTER TABLE agregará dos columnas a la tabla de contactos: last_name y first_name.

El campo last_name se creará como una columna varchar(40) NOT NULL y aparecerá después de la columna contact_id en la tabla. La columna first_name se creará como una columna varchar(35) NULL y aparecerá después de la columna last_name en la tabla.

Modificar una columna en una tabla

sintaxis

La sintaxis para modificar una columna en una tabla en MySQL (usando la instrucción ALTER TABLE) es:

ALTER TABLE table_name
  MODIFY column_name column_definition
    [ FIRST | AFTER column_name ];

table_name El nombre de la tabla a modificar. column_name El nombre de la columna de la tabla que se va a modificar. column_definition Tipo de datos modificado y definición de la columna (NULL o NOT NULL, etc.). primero | DESPUÉS nombre_columna Opcional. Le dice a MySQL dónde colocar la columna en la tabla si desea cambiar su posición.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para modificar columnas en una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  MODIFY last_name varchar(50) NULL;

Este ejemplo de ALTER TABLE modifica la columna denominada last_name a un tipo de datos de varchar(50) y obliga a la columna a permitir valores NULL.

Modificar varias columnas en una tabla

sintaxis

La sintaxis para modificar múltiples columnas en una tabla en MySQL (usando la sentencia ALTER TABLE) es:

ALTER TABLE table_name
  MODIFY column_name column_definition
    [ FIRST | AFTER column_name ],
  MODIFY column_name column_definition
    [ FIRST | AFTER column_name ],
  ...
;

table_name El nombre de la tabla a modificar. column_name El nombre de la columna de la tabla que se va a modificar. column_definition Tipo de datos modificado y definición de la columna (NULL o NOT NULL, etc.). primero | DESPUÉS nombre_columna Opcional. Le dice a MySQL dónde colocar la columna en la tabla si desea cambiar su posición.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para modificar varias columnas en una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  MODIFY last_name varchar(55) NULL
    AFTER contact_type,
  MODIFY first_name varchar(30) NOT NULL;

Este ejemplo de ALTER TABLE modifica dos columnas de la tabla de contactos: last_name y first_name.

El campo last_name se cambiará a una columna varchar(55) NULL y aparecerá después de la columna contact_type en la tabla. La columna first_name se modificará para que sea una columna varchar(30) NOT NULL (y no cambiará la posición en la definición de la tabla de contactos porque FIRST | AFTER no está especificado).

eliminar columna de la tabla

sintaxis

La sintaxis para colocar una columna en una tabla en MySQL (usando la instrucción ALTER TABLE) es:

ALTER TABLE table_name
  DROP COLUMN column_name;

table_name El nombre de la tabla a modificar. column_name El nombre de la columna a eliminar de la tabla.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para colocar una columna en una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  DROP COLUMN contact_type;

Este ejemplo de ALTER TABLE eliminará una columna llamada contact_type de una tabla llamada contactos.

Cambiar el nombre de la columna en la tabla

sintaxis

La sintaxis para cambiar el nombre de una columna en una tabla en MySQL (usando la instrucción ALTER TABLE) es:

ALTER TABLE table_name
  CHANGE COLUMN old_name new_name 
    column_definition
    [ FIRST | AFTER column_name ]

table_name El nombre de la tabla a modificar. old_name La columna a la que se va a cambiar el nombre. new_name El nuevo nombre de la columna. column_definition El tipo de datos y la definición de la columna (NULL o NOT NULL, etc.). Se debe especificar una definición de columna al cambiar el nombre de una columna, incluso si no ha cambiado. primero | DESPUÉS nombre_columna Opcional. Le dice a MySQL dónde colocar la columna en la tabla si desea cambiar su posición.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para cambiar el nombre de una columna en una tabla MySQL.

Por ejemplo:

ALTER TABLE contacts
  CHANGE COLUMN contact_type ctype
    varchar(20) NOT NULL;

Este ejemplo de MySQL ALTER TABLE cambia el nombre de una columna llamada contact_type a ctype. La columna se definirá como una columna varchar(20) NOT NULL.

renombrar tabla

sintaxis

La sintaxis para cambiar el nombre de una tabla en MySQL es:

ALTER TABLE table_name
  RENAME TO new_table_name;

table_name La tabla a la que se va a cambiar el nombre. new_table_name El nuevo nombre de la tabla a usar.

ejemplo

Veamos un ejemplo que muestra cómo usar la declaración ALTER TABLE para cambiar el nombre de una tabla en MySQL.

Por ejemplo:

ALTER TABLE contacts
  RENAME TO people;

Este ejemplo de ALTER TABLE cambia el nombre de la tabla Contactos a Personas.