Copyright © 2005-2019 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.
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'. |
Si eres un administrador de MySQL tal vez te interese saber más de respaldos con mysqldump
, revísalo en este artículo.
Si encuentras útil la información que proveé LinuxTotal, considera realizar un donativo que estimule a seguir proporcionando contenido de calidad y utilidad. Gracias.
Dona a través de paypal::
O a través de bitcoins:
Para Linux todo es un archivo, incluyendo dispositivos como discos duros, cdroms, disquetes, unidades de cinta, memorias usb, etc.....
Una buena contraseña o password, todos lo sabemos, es esencial para dificultar la entrada a nuestro sistema, sobre todo si se es ....
Ya no es nada raro que un centro de cómputo o en un site se encuentren varios sistemas Linux actuando como servidores de archivos....
Archivos como el de configuración de samba /etc/samba/smb.conf suelen tener comentarios que explican o detallan la variable a con....
EL espacio disponible en disco se determina con este comando built-in del sistema operativo Linux, df.....
El muy usado comando man, que lo encuentras en cualquier distribucción de Linux, te permite leer las páginas del manual de otros....
Hay ocasiones que cuando busco un archivo dentro del listado de un directorio con varios archivos, usando ls, deseo ver solamente ....
Uno de mis clientes tiene múltiples aplicaciones basadas en VisualBasic 6 y como base de datos Access, que se ejecutan directamen....
En este tutorial sobre listas de control de acceso en squid, aprenderás lo básico de como configurarlas y establecerlas en la co....
Hay ocasiones en que se te ofrece hacer cálculos matemáticos o aritméticos y no estás en el ambiente gráfico para abrir una c....