miércoles, 18 de enero de 2012

Tablas - Modificación de Tablas

CAMBIARLE DE NOMBRE
Continuando con nuestro tema de las tablas, para poder cambiarle el nombre a una tabla utilizaremos el comando RENAME,  tomen en cuenta que este comando permite cambiar el nombre de cualquier objeto de la BD. La sintaxis es la siguiente:

rename NombreViejo to NombreNuevo

Por ejemplo creamos la tabla alumno



Luego la re-nombramos y ahora se llamara estudiante


BORRAR EL CONTENIDO DE LAS TABLAS
Para esto vamos a utilizar el comando TRUNCATE TABLE luego escribimos el nombre de la tabla, esto hace que se elimine únicamente todo el contenido de la tabla, pero la tabla seguirá existiendo pero quedará vacía, tomar en cuenta que para esto no ponemos arrepentirnos y decir "Voy a revertir lo que hice usando ROLLBACK" porque no se puede anular. Como ejemplo veamos la siguiente instrucción, 
truncate table alumno; como pueden ver esta nos devuelve un error, porque si ustedes recuerdan la tabla alumno ya no existe porque le cambiamos el nombre y ahora se llama estudiante.


Como pueden ver ahora si utilizamos el comando truncate table estudiante; ahora si todo funciona correctamente, porque esta tabla si existe y con esto hemos eliminado todo el contenido la tabla en mención



MODIFICANDO TABLAS

Para esto podemos utilizar el comando ALTER TABLE ya que este comando permite hacer cambios en la estructura de las tablas, voy a tomar como ejemplo la tabla ya creada en este caso les recuerdo que ahora la tabla se llama estudiante.


AÑADIENDO COLUMNAS
Para esto vamos a utilizar el comando ADD la sintaxis para hacer esto es la siguiente:

alter table NombreTabla add 
     (
     NombreColumna      TipoDato,
     NombreColumaSig   TipoDato,
     ...
     );
En este ejemplo preciso he agregado dos columnas mas a mi tabla llamada estudiante.

BORRAR COLUMNAS
Para esto vamos a utilizar el comando DROP,  tomando en cuenta de que esto elimina la columna que se indique de manera irreversible y obviamente incluyendo los datos que la columna contenía. La sintaxis para hacer esto es la siguiente:

alter table NombreTabla drop
     (
     NombreColumna
     );
Adicional a esto, cuando una tabla ya solo tiene una solo columna y la queremos eliminar, no lo vamos a poder hacer de esta forma, para este caso especial vamos a utilizar la instrucción DROP TABLE. En este ejemplo preciso he borrado la columna edad de la tabla estudiante.




MODIFICAR COLUMNAS
Para esto vamos a utilizar el comando MODIFY,  esto permite cambiar el tipo de datos y las propiedades de una determinada columna. La sintaxis para hacer esto es la siguiente:

alter table NombreTabla modify
     (
     NombreColumna   NuevoTipo(Propiedades),
              NombreColumna   NuevoTipo(Propiedades)
     );
Los cambios que se permiten realizar, son:

  • El poder modificar el tamaño de un campo
  • Solo se puede modificar el tamaño de un campo, cuando toda la columna no tenga ningún registro.
  • Se puede pasar de char a varchar2 pero si no se modifica el tamaño del campo

Bueno primero vamos a ver como esta nuestra tabla actualmente y observen bien los tipos de datos de los campos nombre y apellido.



Ahora utilizando el comando modify para modificar la estructura de nuestra tabla.


He modificado el tipo de dato al campo nombre y le he cambiado el tamaño al campo apellido. revisemos de nuevo la tabla estudiante con el comando describe.  Y como pueden darse cuenta la estructura de la tabla ha cambiado.

COMENTARIOS A LA TABLAS
Se le puede añadir comentarios a las tablas, esto con la finalidad de documentar el contenido de cada una de las tablas con un texto descriptivo sobre la misma, 

comment on table
NombreTabla ó NombreTabla.NombreColuma
     is 'Comentario Respectivo'
;

Para poder mostrar los comentarios que tienen las tablas, podemos usar las siguientes instrucciones:

  • Si queremos ver los comentarios de las tablas del usuario actual USER_TAB_COMMENTS
  • Si queremos ver los comentarios de las columnas del usuario actual USER_COL_COMMENTS
  • Si queremos ver los comentarios de las tablas de todos los usuarios ALL_TAB_COMMENTS para esto solo tienen acceso los Administradores.
  • Si queremos ver los comentarios de las tablas de todos los usuarios ALL_COL_COMMENTS para esto solo tienen acceso los Administradores.

No hay comentarios: