ALTER TABLE en MySQL

Sentencia ALTER TABLE en MySQL

ALTER TABLE es una instrucción de MySQL que nos permite cambiar la estructura de una tabla. Con ALTER TABLE podemos añadir, modificar y eliminar los campos de una tabla, como modificar el nombre, tipo de dato, restricciones PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, DEFAULT y cambiar el nombre de la misma tabla.

ALTER TABLE dispone de distintas cláusulas para realizar las diferentes modificaciones a la tabla.

CHANGE

Permite modificar el nombre de una tabla y su tipo de dato

  1. ALTER TABLE [tabla] CHANGE
  2. [campo_actual] [campo_nuevo] [tipo de dato]
  1. ALTER TABLE usuarios CHANGE
  2. nombre name VARCHAR(50)

ADD

Añade un campo nuevo con la opción de incluir FIRST o AFTER que permite ubicar el nuevo campo en la tabla.

  1. ALTER TABLE [tabla]
  2. ADD [campo_nuevo] [tipo_de_dato] [opciones]
  1. ALTER TABLE usuarios
  2. ADD sexo VARCHAR(50) NOT NULL
  3. AFTER edad

DROP

Sentencia que permite eliminar un campo. Si el campo pertenece a un índice se elimina del índice.

  1. ALTER TABLE [tabla] DROP COLUMN [campo]
  1. ALTER TABLE usuarios
  2. DROP COLUMN sexo

Nota: No se puede recuperar la información eliminada con DROP.

RENAME

Permite cambiar el nombre de la tabla.

  1. ALTER TABLE [tabla] RENAME AS [nuevo_nombre_tabla]
  1. ALTER TABLE usuarios
  2. RENAME AS users

EXPLAIN o SHOW COLUMNS

Visualización de la estructura de la tabla

  1. EXPLAIN [tabla]
  1. SHOW COLUMNS FROM [tabla]

ALTER SET DEFAULT Y ALTER DROP DEFAULT

Establece un valor por defecto y elimina el valor por defecto respectivamente

  1. ALTER TABLE [tabla] ALTER [campo]
  2. SET DEFAULT [valor]

Nota: Si el campo tiene un valor lo sustituye por el DEFAULT

  1. ALTER TABLE [tabla] ALTER [campo]
  2. DROP DEFAULT

Nota: DROP DEFAULT no modifica los valores

ADD INDEX y ADD UNIQUE

Añaden un índice a la tabla. ADD UNIQUE además no permite duplicidad.

Si no se indica el valor, MySQL copia el nombre del primer campo,

  1. ALTER TABLE [tabla] ADD INDEX
  2. [tabla] [nombre_indice]([campo/s])

(Añadiendo índice único multicampo):

  1. ALTER TABLE [tabla]
  2. ADD UNIQUE INDEX [nombre_indice] [campo1, campo2]

Nota: Índices tipo BLOB o TEXT deben contener el número de caracteres.

DROP INDEX

Elimina un índice de una tabla

  1. ALTER TABLE [tabla] DROP INDEX [campo_indice]

ADD PRIMARY KEY

Añade una llave o clave primaria que identifica de forma única cada registro en la tabla. 

  1. ALTER TABLE [tabla] ADD PRIMARY KEY [][campo]

Nota: Una tabla solo puede tener una clave primaria, pero puede disponer de uno o varios campos. A través de ALTER TABLE es necesario que el campo sea NOT NULL.

DROP PRIMARY KEY

Elimina una clave primaria de una tabla.

  1. ALTER TABLE [tabla] DROP PRIMARY KEY

Nota: Si la tabla no tiene clave primaria pero tiene más de un índice UNIQUE se elimina el primero que fue creado

MODIFY

Permite modificar el tipo de dato y las restricciones de un campo

  1. ALTER TABLE [tabla] MODIFY [campo] [tipo_de_dato] [restriccion]
  1. ALTER TABLE usuarios MODIFY nombre VARCHAR(100) NOT NULL

ENGINE

Permite cambiar de motor MySQL

  1. ALTER TABLE [tabla] ENGINE = InnoDB


Comentarios: 0

Para poder comentar es necesario iniciar sesión



Este dominio utiliza cookies de terceros para crear estadísticas y publicidad personalizada. Si continúa navegando está aceptando su uso