Publicado el 23 de Diciembre del 2019
738 visualizaciones desde el 23 de Diciembre del 2019
208,2 KB
23 paginas
Creado hace 7a (16/01/2017)
Modificar la estructura de
las tablas mediante SQL de
Oracle
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
OPERACIONES SOBRE LA
TABLA ENTERA
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Borrar tablas
DROP TABLE tabla
[CASCADE CONSTRAINTS][PURGE];
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Cambiar nombre de tabla
RENAME tabla TO nuevoNombre;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Borrar contenido de forma definitiva
TRUNCATE tabla;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
OPERACIONES SOBRE LAS
COLUMNAS
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Añadir columnas
ALTER TABLE tabla ADD (
columna1 tipo1 [restricciones/props]
[,columna2 tipo2 [restricciones/props]]
[,…]
);
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Añadir columnas. Ejemplo
ALTER TABLE personas ADD(
fecha_nac DATE,
dni CHAR(10) CONSTRAINT personas_uk
);
UNIQUE
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Borrar columnas
ALTER TABLE tabla DROP (
columna1 [,columna2] [,…]
) [CASCADE CONSTRAINTS];
ALTER TABLE personas DROP(fecha, dni);
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Modificar columnas
ALTER TABLE tabla MODIFY (
columna1 {[tipo1] [props/restricciones]}
[columna2 {[tipo2] [props/restricciones]}]
[,…]
);
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Modificar columnas. Ejemplo
ALTER TABLE personas MODIFY (
teléfono CHAR(12),
nombre CONSTRAINT personas_nn1 NOT NULL,
edad NUMBER(3)
CONSTRAINT personas_ck1 CHECK(edad>18)
);
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Modificar columnas. Detalles
• Al modificar columnas podemos:
• Incrementar anchura o precisión
• Solo podemos reducir si no hay datos (sí se pueden si son
nulos)
• Podemos cambiar de CHAR a VARCHAR2 y viceversa
• Podemos cambiar de DATE a TIMESTAMP y viceversa
• SI la tabla esta vacía, podemos hacer cualquier cambio
• Si modificamos la propiedad DEFAULT, solo se tendrá en
cuenta en nuevas filas
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Renombrar columnas
ALTER TABLE tabla
RENAME COLUMN nombre TO nuevoNombre;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
MODO SOLO LECTURA
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Poner tablas en modo solo lectura
ALTER TABLE tabla READ ONLY
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Poner tablas en modo de escritura
ALTER TABLE tabla READ WRITE
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
RESTRICCIONES
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Añadir restricciones
ALTER TABLE tabla ADD
[CONSTRAINT nombre]tipoRestr(columnas)
El tipo de restricción puede ser CHECK, PRIMARY KEY,
UNIQUE o FOREIGN KEY
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Añadir restricciones. Ejemplo
ALTER TABLE personas ADD
CONSTRAINT personas_nn2 UNIQUE(apellido1);
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Borrar restricciones
ALTER TABLE tabla
DROP {PRIMARY KEY|UNIQUE(columnas)|
CONSTRAINT nombre} [CASCADE];
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Deshabilitar restricciones
ALTER TABLE tabla
DISABLE CONSTRAINT nombre;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Habilitar restricciones
ALTER TABLE tabla
ENABLE CONSTRAINT nombre;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Cambiar nombre de la restricción
ALTER TABLE tabla
RENAME CONSTRAINT nombre TO nombreNuevo;
GBD-Unidad 5-SQL(1)-DDL y DML
Jorge Sánchez, www.jorgesanchez.net
@jorgesancheznet
Comentarios de: Modificar la estructura de las tablas mediante SQL de Oracle (0)
No hay comentarios