Una duda que muchos usuarios de MySQL se hacen al trabajar con Oracle, es cómo poder ejecutar los comandos como “show databases” o “show tables”. En Oracle se trabaja con “schemas” o usuarios, por ello, si queremos
ver tablas en Oracle no podemos utilizar las mismas sentencias que se utilizan en MySQL.
En algunas sentencias de este tutorial para poder
listar tablas en Oracle, vamos a utilizar el
data dictionary de Oracle. Para los que no lo conozcan, el data dictionary es una parte muy importante en una base de datos Oracle. El data dictionary proporciona un
conjunto de tablas de “solo lectura” las cuales pueden aportar información muy útil.
Para poder
ver tablas en Oracle, antes tenemos que saber las tablas de qué usuario o esquema queremos visualizar. Para ver los usuarios existentes podemos ejecutar la siguiente sentencia:
SELECT USERNAME FROM ALL_USERS;
Al ejecutar este comando podremos ver la lista de usuarios.
Estando autenticados con el usuario del cual queremos
ver tablas en Oracle, ejecutaremos la siguiente sentencia:
SELECT TABLE_NAME FROM USER_TABLES;
Gracias a este comando podremos ver todas las tablas del usuario. Otra opción para poder
ver tablas en Oracle, es ejecutar la siguiente sentencia:
SELECT TABLE_NAME FROM TABS;
Si aparte de listar las tablas propias del usuario, queremos ver también las tablas a las que se le han dado permisos al usuario o esquema con el que estamos trabajando, podemos utilizar
ALL_TABLES. Gracias a ALL_TABLES obtendremos
todas las tablas accesibles por el usuario, incluyendo las tablas propias y sobre las que se le han asignado permisos.
SELECT TABLE_NAME FROM ALL_TABLES;
Una vez hemos conseguido ver tablas en Oracle, puede que el siguiente paso sea ver por qué campos está compuesta una de ellas en concreto. Para ver la
estructura de una tabla, podremos hacer lo siguiente:
DESCRIBE NOMBRE_DE_LA_TABLA;
Donde sustituiremos NOMBRE_DE_LA_TABLA por la tabla que queramos visualizar en detalle. Si por el contrario queremos
visualizar todos los datos que existen en la tabla, realizaremos un simple SELECT:
SELECT * FROM NOMBRE_DE_LA_TABLA;
Asimismo, si no sólo queremos ver tablas en Oracle sino que queremos
contar cuantas tablas existen en el esquema, podemos hacer lo siguiente:
SELECT COUNT(TABLE_NAME) FROM USER_TABLES;
Por último, puede que también pueda ser de utilidad el conocer
cuantas tablas existen en cada usuario. En este caso, tendremos que hacer lo siguiente:
SELECT COUNT(*), OWNER from ALL_TABLES group by OWNER;
Eso es todo por hoy. Esperamos que este tutorial sobre cómo
ver tablas en Oracle os sirva de gran ayuda.