MySQL, referencia de uso del comando 'ALTER TABLE' 

Copyright © 2005-2017 LinuxTotal.com.mx
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx y según los términos de la GNU Free Documentation License, Versión 1.2 o cualquiera posterior publicada por la Free Software Foundation.

Autor: Sergio González D.  

En SQL, 'Alter' es un comando de la categoría DDL (Data Definition Language) y como su nombre lo indica sirve para alterar objetos ya creados en un base de datos, su uso principal es la modificación de tablas. Como en otros artículos de LinuxTotal.com.mx enseñaré su sintaxis a través de varios ejemplos de uso. Se asume que ya tienes creada la base de datos y que sabes como usar el monitor (interface de línea de comandos de MySQL), asi que esta guía es como un referencia rápida (cheat sheet) para cuando la requieras.


REFERENCIA DE USO DE 'ALTER TABLE' EN MYSQL
SOBRE LA TABLA
ALTER TABLE ejemplo ENGINE = InnoDB
Cambiar el tipo de motor (engine) de la tabla 'ejemplo'
ALTER TABLE personas RENAME usuarios
Cambia el nomnbre de la tabla 'personas' a 'usuarios'
ALTER TABLE ejemplo AUTO_INCREMENT=1000
En la tabla 'ejemplo' cualquiera que sea la columna que tenga 'AUTO_INCREMENT' en sus propiedades (solo puede haber una), los nuevos registros comenzarán a partir de '1000' o cualquier número indicado, no es posible utilizar un valor ya existente.
ALTER TABLE ejemplo CONVERT TO CHARACTER SET latin1
La tabla 'ejemplo' ahora almacenará sus valores en base al juego de caracteres 'latin1' (iso-8859-1).
OPERACIONES CON DROP
ALTER TABLE ejemplo DROP COLUMN nombre
Elimina la columna 'nombre' de la tabla 'ejemplo'.
ALTER TABLE ejemplo DROP COLUMN nombre, DROP COLUMN paterno
Elimina más de una columna.
ALTER TABLE ejemplo DROP COLUMN nombre, DROP COLUMN paterno
Elimina más de una columna.
ALTER TABLE ejemplo DROP INDEX usuario
Elimina el índice 'usuario'.
ALTER TABLE ejemplo DROP PRIMARY KEY
Elimina la llave primaria de la tabla 'ejemplo'
ALTER TABLE ejemplo DROP FOREIGN KEY id_usuario
Elimina de la tabala 'ejemplo' la llave foranea 'id_usuario'.
OPERACIONES CON CHANGE Y MODIFY
ALTER TABLE ejemplo CHANGE monto cantidad FLOAT(8,2)
Cambia el nombre de la columna 'monto' al nuevo nombre 'cantidad' con la definición del tipo de datos.
ALTER TABLE ejemplo CHANGE cantidad cantidad FLOAT(10,2)
Cambia solo el tipo de datos de la columna, conservando el mismo nombre.
ALTER TABLE ejemplo MODIFY cantidad FLOAT(10,2)
Cambia solo el tipo de datos de la columna, conservando el mismo nombre. (Igual que el anterior)
ALTER TABLE ejemplo MODIFY cantidad FLOAT(6,2) NOT NULL
Cambia el tipo de datos de la columna 'cantidad' y especifica que no admite nulos.
ALTER TABLE ejemplo MODIFY paterno VARCHAR(30)
Modifica el tamaño de la columna 'paterno'.
ALTER TABLE ejemplo MODIFY correo CONVERT TO CHARACTER SET utf8
Es posible convertir solo una columna, en este caso 'correo' a un juego de caracteres distinto al de todo el resto de la tabla.
OPERACIONES CON ADD
ALTER TABLE ejemplo ADD fecha DATE
Añade una columna llamada 'fecha' del tipo 'DATE' al final de todas las demás existentes.
ALTER TABLE ejemplo ADD INDEX(categoria)
Añade un índice a la columna 'categoria'.
ALTER TABLE ejemplo ADD INDEX(categoria), ADD PRIMARY KEY(clave)
Añade un índice a la columna 'categoria' y además crea la llave primaria en la columna 'clave'.
ALTER TABLE ejemplo ADD UNIQUE(email)
Añade a la columna 'email' un índice del tipo único, no puede haber dos iguales.
ALTER TABLE ejemplo ADD consecutivo BIGINT AUTO_INCREMENT, ADD INDEX(consecutivo)
Añade la columna 'consecutivo' con la característica de auto incremento y además genera un índice sobre la misma.
ALTER TABLE ejemplo ADD materno VARCHAR(20) AFTER paterno
Añade la columna 'materno' después de la columna 'paterno'.
ALTER TABLE ejemplo ADD id INT FIRST
Añade la columna 'id' en primer lugar con respecto a las existentes.
ALTER TABLE usuarios ADD FOREIGN KEY(id) REFERENCES entradas(id_user)
Añade un 'Foreign key' en la columna 'id' de la tabla 'usuarios' que apunta a la columna 'id_user' de la tabla 'entradas'.


Artículos relacionados

Si eres un administrador de MySQL tal vez te interese saber más de respaldos con mysqldump, revísalo en este artículo.


LinuxTotal en:

Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.

Más artículos de LinuxTotal

awk o la versión GNU gawk es más que un simple comando de procesamiento de patrones, es todo un lenguaje de análisis semántico....


mysqldump es una utilieria cliente de MySQL que te permite respaldar bases de datos. Aprende por ejemplos como utilizarlo. Puedes....


Una buena contraseña o password, todos lo sabemos, es esencial para dificultar la entrada a nuestro sistema, sobre todo si se es ....


Aqui, traté de enviar un archivo ejecutable (notepad.exe) a través de gmail, y sus mecanismos de seguridad me lo impidieron. Gma....


En Linux existen tres formas de controlar y mostrar la marca del tiempo en archvios y directorios. Asi es, cuando creas o editas u....


Linux ofrece multitud de servicios o servidores, estos pueden iniciar o arrancar junto con la carga del sistema o pueden después ....


Si se tiene un servidor ssh al que seguramente se conectan clientes desde otros equipos Linux o Windows con clientes de ssh como p....


¿Olvidaste o perdiste la contraseña del usuario 'root' de MySQL?, no hay problema, solo sigue estás sencillas instrucciones y p....


Eventualmente, mientras más se aprende a usar la línea de comandos y a realizar shell scripts, en alguno de estos scripts necesi....


En el artículo de LinuxTotal.com.mx sobre permisos se explica lo que es un archivo con permisos SUID o SGID, pueden ser potencial....



Copyright © LinuxTotal.com.mx 2006-2017
info@linuxtotal.com.mx · linuxtotal.com.mx@gmail.com