You are on page 1of 11

ALTER TABLE

Diseo de Base de Datos

LA SENTENCIA ALTER TABLE


La instruccin ALTER se emplea para aador, borrar, o modificar columnas en una tabla existente.
Para aadir una columna en una tabla se emplea la siguiente sintaxis:

ALTER TABLE table_name ADD column_name datatype


Para borrar una columna en una tabla se emplea la siguiente sintaxis (Nota: Algunos SGBD no permiten eliminar una columna): ALTER TABLE table_name DROP COLUMN column_name

Para cambiar el tipo de dato de una columna se emplea la siguiente instruccin:


ALTER TABLE table_name ALTER COLUMN column_name datatype

La siguiente tabla muestras las acciones ms comunes sobre una tabla usando la instruccin ALTER.

OPERACIONES CON DROP


ALTER TABLE personas RENAME usuarios Cambia el nombre de la tabla 'personas' a 'usuarios' ALTER TABLE ejemplo DROP COLUMN nombre Elimina la columna 'nombre' de la tabla 'ejemplo'.

ALTER TABLE ejemplo DROP COLUMN nombre, DROP COLUMN paterno Elimina ms de una columna.
ALTER TABLE ejemplo DROP COLUMN nombre, DROP COLUMN paterno Elimina ms de una columna. 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 ADD


ALTER TABLE ejemplo ADD fecha DATE Aade una columna llamada 'fecha' del tipo 'DATE' al final de todas las dems existentes. ALTER TABLE ejemplo ADD INDEX(categoria) Aade un ndice a la columna 'categoria'. ALTER TABLE ejemplo ADD PRIMARY KEY(clave) Aade un ndice a la columna 'categoria' y adems crea la llave primaria en la columna 'clave'. ALTER TABLE ejemplo ADD UNIQUE(email) Aade 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) Aade la columna 'consecutivo' con la caracterstica de auto incremento y adems genera un ndice sobre la misma. ALTER TABLE ejemplo ADD materno VARCHAR(20) AFTER paterno Aade la columna 'materno' despus de la columna 'paterno'. ALTER TABLE ejemplo ADD id INT FIRST Aade la columna 'id' en primer lugar con respecto a las existentes.

PRIMARY KEY
La restriccin PRIMARY KEY identifica de forma exclusiva cada registro de una tabla de base de datos.
Las claves primarias deben contener valores nicos. Una columna de clave principal no puede contener valores NULL. Cada tabla debe tener una clave principal y cada tabla slo puede tener clave primaria.

Para permitir que la denominacin de una PRIMARY KEY, y para definir la PRIMARY KEY en una columna, utilice la siguiente sintaxis SQL:

Para permitir que la denominacin de PRIMARY KEY, y para definir una restriccin PRIMARY KEY en varias columnas, utilice la siguiente sintaxis SQL:

Para crear una restriccin PRIMARY KEY en la columna "p_id" cuando ya se ha creado la tabla, utilice el siguiente comando SQL:

Nota: Si se utiliza la sentencia ALTER TABLE para agregar una clave principal, la columna de clave principal (s) deben haber sido declaradas para no contener valores NULL (cuando la tabla se cre en primer lugar).
Para quitar una restriccin PRIMARY KEY Para quitar una restriccin PRIMARY KEY, utilice el siguiente SQL:

AUTO_INCREMENT EN MYSQL
Para definir una tabla con clave primaria con auto_increment, se debe ejecutar la siguiente sentencia:
create table empleados ( id int (10) NOT NULL AUTO_INCREMENT , nombre varchar (250) NOT NULL, correo varchar (250) NOT NULL , PRIMARY KEY ( id ) );

You might also like