Tema 8. El DDL, lenguaje de definición
de datos (III) |
|
|
La sentencia ALTER TABLE
sirve para modificar la estructura de una tabla
que ya existe. Mediante esta instrucción podemos añadir
columnas nuevas, eliminar columnas. Ten cuenta que cuando eliminamos una
columna se pierden todos los datos almacenados en ella.
También nos permite crear nuevas restricciones
o borrar algunas existentes. La sintaxis puede parecer algo complicada
pero sabiendo el significado de las palabras reservadas la sentencia se
aclara bastante; ADD (añade), ALTER (modifica), DROP (elimina),
COLUMN (columna), CONSTRAINT (restricción).
La sintaxis es la
siguiente:
|
|
La sintaxis de restriccion1
es idéntica a la restricción1 de la sentencia CREATE
TABLE, te la describimos a continuación, si tienes alguna
duda repasa la sentencia CREATE TABLE.
|
|
La sintaxis de restriccion2
es idéntica a la restricción2 de la sentencia CREATE
TABLE, te la describimos a continuación, si tienes alguna
duda repasa la sentencia CREATE TABLE.
|
|
La cláusula ADD COLUMN (la
palabra COLUMN es opcional) permite
añadir una columna nueva a
la tabla. Como en la creación de tabla, hay que definir la columna
indicando su nombre, tipo de datos que puede contener, y si lo queremos
alguna restricción de valor no nulo, clave primaria, clave foránea,
e índice único, restriccion1 es
opcional e indica una restricción de tipo 1 que afecta
a la columna que estamos definiendo.
|
|
Ejemplo:
ALTER TABLE tab1 ADD COLUMN
col3 integer NOT NULL CONSTRAINT c1 UNIQUE
Con este ejemplo estamos añadiendo a la tabla
tab1 una columna llamada col3 de tipo entero, requerida (no admite nulos)
y con un índice sin duplicados llamado c1.
Cuando añadimos una columna lo mínimo que
se puede poner sería:
ALTER TABLE tab1 ADD col3 integer
En este caso la nueva columna admite valores nulos y
duplicados.
|
|
Para añadir una nueva restricción
en la tabla podemos utilizar la cláusula ADD
restriccion2 (ADD CONSTRAINT...).
|
|
Ejemplo:
ALTER TABLE tab1 ADD CONSTRAINT
c1 UNIQUE (col3)
Con este ejemplo estamos añadiendo a la tabla
tab1 un índice único (sin duplicados) llamado c1 sobre la
columna col3.
|
|
Para borrar una columna basta con
utilizar la cláusula DROP COLUMN
(COLUMN es opcional) y el nombre de
la columna que queremos borrar, se perderán todos los datos almacenados
en la columna.
|
|
Ejemplo:
ALTER TABLE tab1 DROP COLUMN
col3
También podemos escribir:
ALTER TABLE tab1 DROP col3
El resultado es el mismo, la columna col3 desaparece
de la tabla tab1.
|
|
Para borrar una restricción
basta con utilizar la cláusula DROP CONSTRAINT
y el nombre de la restricción que queremos borrar, en este caso
sólo se elimina la definición de la restricción pero
los datos almacenados no se modifican ni se pierden.
|
|
Ejemplo:
ALTER TABLE tab1 DROP CONSTRAINT
c1
Con esta sentencia borramos el índice c1 creado
anteriormente pero los datos de la columna col3 no se ven afectados por
el cambio.
|
|
Aviso legal: este curso es gratuito
siempre que se visualice desde la página web de aulaClic. No está
permitido descargar el curso ni utilizarlo en academias o centros de enseñanza
privados sin estar conectado a Internet.
|
© aulaClic. Todos los derechos reservados.
Free Computer tutorials .
Prohibida la reproducción por cualquier medio.
Julio-2001.aulaClic.com
|
|
|