0% encontró este documento útil (0 votos)
11 vistas27 páginas

Comparativa SQLplus y MySQL - Camilo Vargas

Este documento compara las herramientas SQL*Plus de Oracle y MySQL, analizando sus características para la creación de bases de datos y esquemas, creación y manipulación de tablas, ejecución de scripts, y otros. El documento contiene información detallada sobre las similitudes y diferencias entre ambas herramientas.

Cargado por

Camilo Vargas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
11 vistas27 páginas

Comparativa SQLplus y MySQL - Camilo Vargas

Este documento compara las herramientas SQL*Plus de Oracle y MySQL, analizando sus características para la creación de bases de datos y esquemas, creación y manipulación de tablas, ejecución de scripts, y otros. El documento contiene información detallada sobre las similitudes y diferencias entre ambas herramientas.

Cargado por

Camilo Vargas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 27

Comparativa

SQL*PLUS (Oracle) y MySQL

IES Tetuán de las victorias (Madrid) Alumno: Camilo Andretti Vargas Sandoval

Comparativa SQL*PLUS (Oracle) y MySQL © 2024 by Camilo Vargas is


licensed under CC BY-NC 4.0

Sumario
1. Introducción....................................................................................................................................................4
Comparativa SQL*Plus (Oracle) y MySQL

2. El monitor de MySQL....................................................................................................................................5
3. El monitor de Oracle (SQL*Plus)..................................................................................................................6
4. Creación de Base de Datos y Esquemas.........................................................................................................7
SQL*Plus/Oracle:.............................................................................................................................................7
MySQL:............................................................................................................................................................8
5. Creación de Tablas.........................................................................................................................................9
SQL*Plus/Oracle..............................................................................................................................................9
Características Avanzadas:...........................................................................................................................9
MySQL............................................................................................................................................................10
Características Específicas:.........................................................................................................................10
6. Ejecución Comandos del Sistema Operativo...............................................................................................11
SQL*Plus....................................................................................................................................................11
MySQL........................................................................................................................................................11
Consideraciones de Seguridad....................................................................................................................11
7. Atributo Auto Increment..............................................................................................................................12
SQL*Plus:...................................................................................................................................................12
MySQL........................................................................................................................................................12
8. Clausula IF NOT EXISTS............................................................................................................................13
SQL*Plus:...................................................................................................................................................13
MySQL:......................................................................................................................................................13
9. Inserción Masiva..........................................................................................................................................14
SQL*Plus....................................................................................................................................................14
MySQL........................................................................................................................................................15
10. UPDATE ON CASCADE/ON DELETE CASCADE.................................................................................15
SQL*Plus....................................................................................................................................................15
MySQL........................................................................................................................................................16
11. Ejecución de Scripts.....................................................................................................................................17
SQL*Plus/Oracle............................................................................................................................................17
Ejecutando Scripts:.....................................................................................................................................17
Consideraciones Especiales:.......................................................................................................................18
MySQL............................................................................................................................................................19
Ejecutando Scripts:.....................................................................................................................................19
Consideraciones Especiales:.......................................................................................................................19
12. Manipulación de tablas.................................................................................................................................20
Conexión a la Base de Datos...........................................................................................................................20
SQL*Plus:...................................................................................................................................................20
MySQL:......................................................................................................................................................20
Ver las tablas...................................................................................................................................................20
Alumno: Camilo Vargas 2
Comparativa SQL*Plus (Oracle) y MySQL

SQL*Plus:...................................................................................................................................................20
MySQL:......................................................................................................................................................21
Descripción de tablas......................................................................................................................................21
SQL*Plus....................................................................................................................................................21
MySQL........................................................................................................................................................22
Inserción de Datos...........................................................................................................................................22
SQL*Plus:...................................................................................................................................................22
MySQL:......................................................................................................................................................22
Consulta de Datos...........................................................................................................................................23
SQL*Plus:...................................................................................................................................................23
MySQL:......................................................................................................................................................23
Eliminación de Datos......................................................................................................................................24
SQL*Plus:...................................................................................................................................................24
MySQL:......................................................................................................................................................24
13. Diccionario de datos.....................................................................................................................................25
SQL*Plus........................................................................................................................................................25
MySQL............................................................................................................................................................26
14. Bibliografía...................................................................................................................................................27

Alumno: Camilo Vargas 3


Comparativa SQL*Plus (Oracle) y MySQL

Introducción

Al comparar Oracle y MySQL, estamos evaluando dos de los sistemas de gestión de bases de datos (SGBD)
más influyentes y ampliamente utilizados en el mundo de la tecnología de la información. Ambos sirven al
propósito fundamental de almacenar, recuperar y gestionar datos, pero lo hacen de maneras que reflejan sus
distintas filosofías de diseño, capacidades técnicas y casos de uso ideales.
Oracle, conocido por su robustez, es un gigante en el mundo de las bases de datos empresariales, ofreciendo
un sistema altamente sofisticado y completo, con un amplio rango de funcionalidades avanzadas. Es
especialmente conocido por su lenguaje de programación PL/SQL, que permite a los usuarios escribir
aplicaciones de bases de datos altamente complejas y seguras. Su capacidad para manejar grandes volúmenes
de datos y transacciones complejas lo hace ideal para grandes corporaciones y aplicaciones críticas que
requieren alta disponibilidad, seguridad, y escalabilidad.
MySQL, por otro lado, es ampliamente reconocido por su simplicidad y eficiencia, siendo una opción popular
para aplicaciones web y empresas de todos los tamaños. Aunque no ofrece todas las capacidades avanzadas
de Oracle, su simplicidad, velocidad y facilidad de uso lo han convertido en la base de datos de elección para
una gran variedad de aplicaciones web modernas, especialmente aquellas que operan en entornos de hosting
compartido o que requieren una solución de base de datos más ligera y menos compleja.

PL/SQL (Oracle):
Lenguaje procedimental que extiende SQL, diseñado para una integración avanzada con Oracle.
Proporciona herramientas para crear aplicaciones robustas dentro de la base de datos.

SQL (MySQL):

Lenguaje de consulta estándar con extensiones para procedimientos almacenados, pero sin la profundidad o
complejidad de PL/SQL.

El monitor de MySQL

El monitor de MySQL, también conocido como MySQL Command Line Client, es una herramienta de línea
de comandos que permite a los usuarios interactuar directamente con el servidor MySQL. Esta herramienta
es esencialmente un cliente que se utiliza para enviar comandos SQL al servidor y recibir los resultados. Aquí
hay algunas características y aspectos clave del monitor de MySQL:
Interfaz de Línea de Comandos: El monitor opera en una interfaz de texto, donde los usuarios pueden
escribir y ejecutar comandos SQL. No tiene una interfaz gráfica, lo que significa que todos los comandos
deben ingresarse a través del teclado.
Ejecución de Consultas SQL: Permite a los usuarios ejecutar todo tipo de consultas SQL, como SELECT,
INSERT, UPDATE, DELETE, y muchas más. Las respuestas del servidor se muestran directamente en la
ventana de la consola.

Alumno: Camilo Vargas 4


Comparativa SQL*Plus (Oracle) y MySQL

Conexión Directa al Servidor: Se conecta directamente al servidor MySQL utilizando credenciales de


usuario, lo que permite una gestión eficiente de las bases de datos directamente desde la línea de comandos.
Scripting y Automatización: Los usuarios pueden escribir scripts SQL y ejecutarlos a través del monitor de
MySQL, lo que facilita la automatización de tareas repetitivas y la ejecución de lotes de comandos.
Compatibilidad con Todas las Características de MySQL: Dado que es una herramienta oficial de
MySQL, el monitor es totalmente compatible con todas las características y capacidades de MySQL,
incluyendo la administración de usuarios, seguridad, optimización de consultas, y más.

Figura 1: Monitor de MySQL (Windows 10)

Alumno: Camilo Vargas 5


Comparativa SQL*Plus (Oracle) y MySQL

El monitor de Oracle (SQL*Plus)


El monitor de Oracle, comúnmente referido como SQLPlus, es una herramienta de línea de comandos
utilizada para interactuar con bases de datos Oracle. SQLPlus permite a los usuarios ejecutar comandos SQL
y PL/SQL, y es ampliamente utilizado por administradores de bases de datos y desarrolladores por su
eficiencia y flexibilidad. Aquí hay algunas características y aspectos clave de SQL*Plus:
Interfaz de Línea de Comandos: SQL*Plus opera en una interfaz de texto, permitiendo a los usuarios
escribir y ejecutar comandos SQL y PL/SQL. Aunque no tiene interfaz gráfica, es muy poderosa para usuarios
experimentados.
Ejecución de Comandos SQL y PL/SQL: Los usuarios pueden ejecutar una amplia variedad de comandos
SQL para consultas, actualizaciones, inserciones y borrados, así como bloques de código PL/SQL para lógica
de programación más compleja.
Scripting y Automatización: SQL*Plus facilita la ejecución de scripts SQL y PL/SQL almacenados en
archivos, lo que es útil para automatizar tareas, migraciones de datos, y pruebas de rendimiento.
Conexión Directa a Bases de Datos Oracle: Permite conectarse directamente a cualquier base de datos
Oracle utilizando credenciales de usuario, facilitando la administración directa y la ejecución de tareas
administrativas.
Compatibilidad con Características Avanzadas de Oracle: SQL*Plus es compatible con todas las
características avanzadas de Oracle, incluyendo la gestión de espacio, seguridad avanzada, y optimización de
consultas.

Figura 2: Monitor de SQL*Plus (Windows 10)

Creación de Base de Datos y Esquemas

SQL*Plus/Oracle:

Enfoque en Esquemas: Oracle adopta un enfoque centrado en esquemas más que en bases de datos
individuales. Un esquema en Oracle es efectivamente una cuenta de usuario que posee objetos de base de
datos, como tablas, vistas, procedimientos almacenados, etc. Cuando se crea un nuevo usuario, Oracle por
defecto crea un esquema asociado con ese usuario.
Alumno: Camilo Vargas 6
Comparativa SQL*Plus (Oracle) y MySQL

Creación de Usuarios/Esquemas: En Oracle, no se crea una "base de datos" por cada proyecto o aplicación.
En su lugar, se crean usuarios/esquemas, y a estos se les asignan los objetos de base de datos. La creación de
un usuario (y por ende un esquema) se realiza típicamente con comandos como CREATE USER username
IDENTIFIED BY password; seguido de la asignación de permisos con GRANT y la definición de cuotas en
tablespaces.
-- Crear un nuevo usuario (y por ende, un esquema)
CREATE USER mi_esquema IDENTIFIED BY mi_contraseña;
-- Otorgar permisos al usuario
GRANT CONNECT, RESOURCE TO mi_esquema;
-- Otorgar una cuota en el tablespace (si es necesario)
ALTER USER mi_esquema QUOTA 100M ON users;

Figura 3: Creando usuario (SQL*Plus)

MySQL:

Creación Directa de Bases de Datos: MySQL permite la creación directa de bases de datos, lo que es más
intuitivo para los usuarios que provienen de otros sistemas de gestión de bases de datos. Se utiliza el comando
CREATE DATABASE nombre_de_la_base; para iniciar una nueva base de datos, lo cual es una operación
común y sencilla.
Separación de Bases de Datos y Usuarios: A diferencia de Oracle, MySQL maneja las bases de datos y los
usuarios de forma separada. Un usuario puede tener permisos sobre una o varias bases de datos, y la creación
de la base de datos no está ligada a la creación de usuarios.
-- Crear una nueva base de datos
CREATE DATABASE mi_base_de_datos;
-- Crear un nuevo usuario
CREATE USER 'mi_usuario'@'localhost' IDENTIFIED BY 'mi_contraseña';
-- Otorgar permisos al usuario para la nueva base de datos

Alumno: Camilo Vargas 7


Comparativa SQL*Plus (Oracle) y MySQL

GRANT ALL PRIVILEGES ON mi_base_de_datos.* TO 'mi_usuario'@'localhost';


-- Aplicar los cambios de permisos
FLUSH PRIVILEGES;

Figura 4: Creando base de datos MySQL

Alumno: Camilo Vargas 8


Comparativa SQL*Plus (Oracle) y MySQL

Creación de Tablas
SQL*Plus/Oracle
En Oracle, la creación de tablas se realiza a través de una sintaxis que puede incorporar una amplia gama de
características específicas de Oracle, como tipos de datos avanzados, opciones de almacenamiento y cláusulas
de particionamiento.

Figura 5: Creando tabla en SQL*Plus

Tipos de Datos: Oracle ofrece tipos de datos específicos como VARCHAR2, NUMBER, CLOB, etc.
VARCHAR2 es más comúnmente utilizado que VARCHAR, siendo una especificidad de Oracle.
Funciones de Fecha: SYSDATE es una función de Oracle utilizada para asignar la fecha y hora actuales por
defecto.
Claves Primarias y Constraints: La declaración puede incluir constraints como claves primarias, únicas,
checks, etc., directamente en la definición de la tabla o como constraints separados.

Características Avanzadas:

Particionamiento: Oracle permite particionar tablas para mejorar el rendimiento y la gestión de grandes
volúmenes de datos, una característica valiosa para sistemas empresariales de gran escala.
Opciones de Almacenamiento: Puedes especificar opciones de almacenamiento detalladas, como
tablespaces, inicialización de extentos, entre otros.

Alumno: Camilo Vargas 9


Comparativa SQL*Plus (Oracle) y MySQL

MySQL
maneja la creación de tablas de manera más simplificada pero flexible, adecuada para una amplia gama de
aplicaciones, desde aplicaciones web simples hasta sistemas empresariales complejos.

Figura 6: Creando tabla en SQL*Plus

Tipos de Datos: MySQL utiliza tipos de datos estándar SQL como VARCHAR, INT, TEXT, etc.
AUTO_INCREMENT se utiliza para generar un nuevo valor de clave primaria automáticamente.

Funciones de Fecha: CURRENT_TIMESTAMP es utilizado para asignar la fecha y hora actuales como valor
predeterminado.
Claves Primarias y Constraints: Al igual que en Oracle, puedes definir constraints dentro de la definición de
la tabla.

Características Específicas:

Motor de Almacenamiento: MySQL permite seleccionar diferentes motores de almacenamiento para la


tabla, como InnoDB, MyISAM, entre otros, cada uno con sus propias características y optimizaciones.
Sintaxis Simplificada: Aunque MySQL no ofrece todas las capacidades avanzadas de Oracle, su sintaxis es
fácil de entender y usar, lo que la hace muy popular, especialmente en el desarrollo web.

Alumno: Camilo Vargas 10


Comparativa SQL*Plus (Oracle) y MySQL

Ejecución Comandos del Sistema Operativo


SQL*Plus:
Utiliza el comando HOST o su sinónimo ! para ejecutar comandos del sistema operativo sin salir del prompt de
SQL*Plus.

Figura 7: Uso del comando dir(windows10) dentro del prompt SQL*Plus

o simplemente

Figura 8: Uso del comando dir(windows10) dentro del prompt SQL*Plus

MySQL:
Utiliza el comando SYSTEM o bien el comando \! para ejecutar comandos del sistema operativo sin salir del
prompt de MySQL.

Figura 9: Uso del comando cls(windows10) dentro del prompt MySQL

o simplemente

Figura 10: Uso del comando cls(windows10) dentro del prompt MySQL

Consideraciones de Seguridad
La capacidad de ejecutar comandos del sistema operativo desde SQL*Plus o MySQL es potente, pero conlleva
riesgos de seguridad. Los usuarios con acceso a estas funciones pueden potencialmente ejecutar comandos
maliciosos, comprometiendo el servidor de la base de datos. Por lo tanto, es crucial:

 Restringir el acceso a usuarios de confianza.


 Evitar automatizar scripts que utilicen estos comandos sin medidas de seguridad adecuadas.
 Considerar el contexto de seguridad y las políticas de la organización antes de habilitar o utilizar estas
funciones.

Alumno: Camilo Vargas 11


Comparativa SQL*Plus (Oracle) y MySQL

Atributo Auto Increment


SQL*Plus:
Oracle no utiliza directamente el atributo AUTO_INCREMENT como MySQL. En su lugar, usa secuencias.

Figura 11: Uso de secuencias SQL*Plus

MySQL:
Utiliza el atributo AUTO_INCREMENT para incrementar automáticamente un campo.

Figura 12: Uso del AUTO_INCREMENT MYSQL

Alumno: Camilo Vargas 12


Comparativa SQL*Plus (Oracle) y MySQL

Cláusula IF NOT EXISTS


La cláusula IF NOT EXISTS se utiliza principalmente en la creación de tablas para prevenir el error que ocurre
al intentar crear una tabla que ya existe en la base de datos. La idea es que, si la tabla ya existe, la operación se
omitirá, evitando así un error y garantizando que el script SQL continúe ejecutándose sin interrupciones.

SQL*Plus:
Oracle no soporta directamente la sintaxis IF NOT EXISTS en la creación de tablas. Necesitarías escribir un
bloque PL/SQL o controlar esto mediante un script.
Ejemplo Conceptual en PL/SQL
Podrías usar un bloque PL/SQL para verificar si una tabla existe antes de intentar crearla. Aquí hay un
enfoque conceptual; no es un código directamente ejecutable, pero ilustra la idea:

Figura 13: Script PL/SQL para remplazar la cláusula IF NOT EXISTS

MySQL:
Soporta IF NOT EXISTS para evitar errores al intentar crear tablas que ya existen.

Figura 14: Uso del AUTO_INCREMENT MYSQL

Inserción Masiva
La inserción masiva se refiere al proceso de insertar múltiples registros en una base de datos de una sola vez.
Esto es útil para mejorar el rendimiento al reducir el número de llamadas a la base de datos, especialmente
cuando se necesita insertar una gran cantidad de datos simultáneamente

SQL*Plus:

En Oracle, no tienes un comando directo que permita la inserción masiva de datos como en MySQL con su
sintaxis de inserción extendida. Sin embargo, puedes usar diferentes técnicas para lograr un resultado similar.
Alumno: Camilo Vargas 13
Comparativa SQL*Plus (Oracle) y MySQL

INSERT ALL: Esta es una forma de insertar múltiples filas en una o varias tablas en una única operación.

Para inserciones masivas, se suele utilizar la funcionalidad de INSERT ALL o un procedimiento PL/SQL.

Figura 15: Inserción masiva en SQL*Plus

Aquí, INSERT ALL permite especificar múltiples subinstrucciones INTO, cada una de las cuales inserta una
fila en la tabla. El SELECT FROM dual al final es necesario para que la sintaxis sea válida, ya que Oracle
espera una consulta que proporcionará las filas a insertar.
Usando PL/SQL: También puedes usar un bloque PL/SQL para realizar inserciones masivas, especialmente
útil cuando se insertan datos dinámicamente o en grandes cantidades.

Figura 16: Inserción masiva en SQL*Plus con Script PL/SQL

MySQL:

Permite la inserción masiva de datos utilizando una única instrucción INSERT.

Figura 17: Inserción masiva en MySQL

UPDATE ON CASCADE/ON DELETE CASCADE


El concepto de "UPDATE ON CASCADE" se refiere a una regla de integridad referencial que se puede
definir en una relación de clave foránea. Cuando se actualiza una clave en la tabla principal, todas las filas en
la tabla relacionada que corresponden a esa clave se actualizan automáticamente para reflejar el cambio. Esto
mantiene la consistencia de los datos entre las tablas relacionadas.

SQL*Plus:
Oracle no soporta directamente un "ON UPDATE CASCADE". En Oracle, las restricciones de integridad
referencial para las claves foráneas se pueden configurar para realizar acciones en cascada cuando se eliminan

Alumno: Camilo Vargas 14


Comparativa SQL*Plus (Oracle) y MySQL

filas (ON DELETE CASCADE), pero no cuando se actualizan. La falta de soporte para "ON UPDATE
CASCADE" significa que tendrás que manejar las actualizaciones manualmente, posiblemente a través de
disparadores (triggers) o procedimientos almacenados que aseguren la integridad referencial.

Figura 18: Alternativa al ON UPDATE CASCADE SQL*Plus

En este ejemplo, si se elimina una fila en parent_table, cualquier fila en child_table que haga referencia a la
misma parent_id se eliminará automáticamente. Sin embargo, si se necesita una actualización en cascada, se
debe implementar manualmente, posiblemente con un trigger.

Alumno: Camilo Vargas 15


Comparativa SQL*Plus (Oracle) y MySQL

MySQL:
MySQL sí soporta la acción "ON UPDATE CASCADE" en las restricciones de clave foránea. Esto significa
que, si actualizas una clave primaria en la tabla principal, todas las claves foráneas correspondientes en la
tabla relacionada se actualizarán automáticamente.

Figura 19: ON UPDATE CASCADE MySQL

En este caso, si la parent_id en parent_table se actualiza, la parent_id correspondiente en child_table se actualizará


automáticamente para reflejar el cambio. Esta funcionalidad es muy útil para mantener la integridad
referencial de los datos automáticamente, sin necesidad de escribir código adicional para manejar tales
actualizaciones.

Ejecución de Scripts
SQL*Plus/Oracle
En Oracle, los scripts SQL se utilizan ampliamente para automatizar la administración de la base de datos,
ejecutar lotes de comandos SQL, y realizar tareas de mantenimiento y configuración. La ejecución de scripts
es una parte integral del trabajo con Oracle, especialmente en entornos empresariales donde las tareas
complejas necesitan ser realizadas de manera regular y automatizada.

Alumno: Camilo Vargas 16


Comparativa SQL*Plus (Oracle) y MySQL

Ejecutando Scripts:
 SQL*Plus o SQLcl: Son las interfaces de línea de comandos más comunes para Oracle. Para ejecutar
un script, normalmente se usa el comando @ seguido del nombre del archivo del script, por ejemplo,
@mi_script.sql. Esto ejecuta el script en el contexto de la sesión actual de SQL*Plus o SQLcl.

Figura 20: cargando script SQL*Plus

 PL/SQL Blocks: Además de los scripts SQL estándar, Oracle permite la ejecución de bloques
PL/SQL, que pueden incluir lógica condicional, bucles y otras estructuras de control de flujo,
proporcionando una potente herramienta para scripts avanzados.

Figura 21: Bloque PL/SQL

 Scheduled Jobs: Oracle proporciona una forma robusta de programar la ejecución de scripts a través
de DBMS_SCHEDULER o DBMS_JOB, permitiendo la automatización de tareas de mantenimiento
y operaciones de larga duración.
Supongamos que tienes un procedimiento almacenado llamado actualizar_estadisticas que deseas
ejecutar automáticamente a medianoche todos los días.
Una vez que este código se ejecuta en Oracle, el trabajo job_actualizar_estadisticas se activará
automáticamente a medianoche todos los días, ejecutando el procedimiento actualizar_estadisticas.

Alumno: Camilo Vargas 17


Comparativa SQL*Plus (Oracle) y MySQL

Figura 22: Script en DBMS_SCHEDULER

Consideraciones Especiales:
 Variables de Sustitución: SQL*Plus y SQLcl permiten el uso de variables de sustitución para
personalizar la ejecución de scripts, lo cual es útil para scripts que deben ejecutarse en múltiples
contextos o con diferentes conjuntos de datos.
 Errores y Manejo de Excepciones: Los scripts pueden diseñarse para manejar errores o excepciones,
registrando problemas o incluso deteniendo la ejecución según la gravedad del error.

Alumno: Camilo Vargas 18


Comparativa SQL*Plus (Oracle) y MySQL

MySQL
MySQL también soporta la ejecución de scripts SQL para tareas de administración, inicialización y
mantenimiento. La ejecución de scripts en MySQL es una herramienta esencial para los desarrolladores y
administradores de bases de datos, facilitando la automatización y la ejecución eficiente de operaciones en
lotes.

Ejecutando Scripts:
MySQL Command-Line Tool: Para ejecutar un script en MySQL, puedes usar el comando source o el
carácter de comando de ejecución \. en la interfaz de línea de comandos de MySQL, como en source
mi_script.sql; o \. mi_script.sql;. Esto ejecutará el script SQL en el contexto de la sesión actual de MySQL.

Figura 23: Llamada a Script en MySQL

Automatización y Mantenimiento: Al igual que en Oracle, los scripts en MySQL se utilizan para la
automatización de tareas de administración, como la realización de copias de seguridad, la actualización de
datos, o la realización de cambios en la estructura de la base de datos.

Consideraciones Especiales:
Scripts en Aplicaciones: Los scripts no solo se usan para la administración directa de la base de datos, sino
también pueden ser parte de aplicaciones más grandes, ejecutándose durante la inicialización de la aplicación,
durante las actualizaciones, o como parte de la lógica de la aplicación.
Manejo de Errores: La estructura y la lógica de manejo de errores en los scripts de MySQL pueden ser
fundamentales para asegurar que las operaciones de base de datos se realicen correctamente y que cualquier
problema sea capturado y tratado adecuadamente.

Alumno: Camilo Vargas 19


Comparativa SQL*Plus (Oracle) y MySQL

Manipulación de tablas
Conexión a la Base de Datos
SQL*Plus:
Para conectar a una base de datos Oracle usando SQL*Plus, se utiliza el siguiente comando:
sqlplus username/password@database

MySQL:
Para conectar a una base de datos MySQL, se utiliza:
mysql -u username -p -h host database

Ver las tablas


SQL*Plus:
Puedes ver las tablas utilizando el diccionario de datos de Oracle. El diccionario de datos es una colección de
tablas y vistas que contienen información sobre los objetos de la base de datos. Para ver las tablas, puedes
usar:
SELECT table_name FROM user_tables;
Este comando muestra todas las tablas que el usuario actual tiene en su esquema. Si deseas ver todas las tablas
en la base de datos a las que tienes acceso, puedes utilizar:
SELECT table_name FROM all_tables;
Y si quieres ver todas las tablas en la base de datos, incluyendo las de otros esquemas, puedes usar:
SELECT table_name FROM dba_tables;

Figura 24: Consulta de tablas (Script_Empleados) SQl*Plus

MySQL:
En MySQL, la forma de ver las tablas es un poco más directa. Puedes usar el siguiente comando después de
seleccionar una base de datos:
SHOW TABLES; o SHOW FULL TABLES;

Alumno: Camilo Vargas 20


Comparativa SQL*Plus (Oracle) y MySQL

Figura 25: Consulta de tablas (Script_Empleados) MySQL

Descripción de tablas
SQL*Plus
puedes utilizar el comando DESC o DESCRIBE para ver la estructura de una tabla. El comando muestra la
información de las columnas, incluyendo el nombre, tipo de dato, si pueden ser nulos, y otras propiedades
relacionadas con las columnas.
DESC nombre_de_la_tabla; o DESCRIBE nombre_de_la_tabla;

Figura 26: Descripción de tabla (Script_Empleados) PL/SQL

MySQL
El comando para ver la descripción de una tabla es muy similar. Utilizas el comando DESCRIBE o
simplemente DESC, seguido del nombre de la tabla. También puedes usar el comando SHOW COLUMNS
FROM

DESC nombre_de_la_tabla; o DESCRIBE nombre_de_la_tabla;

Alumno: Camilo Vargas 21


Comparativa SQL*Plus (Oracle) y MySQL

Figura 27: Descripción de tabla (Script_Empleados) MySQL

Inserción de Datos

SQL*Plus:
INSERT INTO empleados (id, nombre, edad) VALUES (1, 'Juan', 30);

Figura 28: Inserción en tabla (Script_Empleados) PL/SQL

MySQL:
INSERT INTO empleados (id, nombre, edad) VALUES (1, 'Juan', 30);
La inserción de datos es bastante similar en ambos sistemas; la sintaxis es prácticamente la misma.

Alumno: Camilo Vargas 22


Comparativa SQL*Plus (Oracle) y MySQL

Figura 29: Inserción en tabla (Script_Empleados) MySQL

Consulta de Datos

SQL*Plus:
SELECT * FROM empleados;

Figura 30: Consulta de todos los datos de un tabla (Script_Empleados) PL/SQL

MySQL:
SELECT * FROM empleados;
Las consultas básicas son idénticas en ambos sistemas. Sin embargo, SQL*Plus y Oracle tienen muchas
funciones avanzadas para trabajar con conjuntos de datos complejos, los cuales pueden no estar disponibles o
ser diferentes en MySQL.

Alumno: Camilo Vargas 23


Comparativa SQL*Plus (Oracle) y MySQL

Figura 31: Consulta de todos los datos de un tabla (Script_Empleados) MySQL

Eliminación de Datos
SQL*Plus:
DELETE FROM empleados WHERE id = 1;

Figura 32: Eliminación de datos (Script_Empleados) PL/SQL

MySQL:
DELETE FROM empleados WHERE id = 1;
La eliminación de datos también sigue la sintaxis SQL estándar en ambos entornos.

Alumno: Camilo Vargas 24


Comparativa SQL*Plus (Oracle) y MySQL

Figura 33: Eliminación de datos (Script_Empleados) MySQL

Diccionario de datos
SQL*Plus

En Oracle, el diccionario de datos es una colección integral de tablas y vistas que Oracle utiliza para mantener
la información sobre todos los objetos de la base de datos. Las vistas más comunes que se consultan en el
diccionario de datos son:
USER_TABLES: Lista todas las tablas propiedad del usuario actual.
ALL_TABLES: Lista todas las tablas a las que el usuario actual tiene acceso.
DBA_TABLES: Lista todas las tablas en la base de datos (requiere privilegios de DBA).
USER_TAB_COLUMNS: Muestra información sobre las columnas en las tablas propiedad del usuario.
USER_CONSTRAINTS: Muestra las restricciones en las tablas del usuario.
USER_INDEXES: Proporciona información sobre los índices creados en las tablas del usuario.

Figura 34: Consultas al diccionario de datos SQL*Plus

Alumno: Camilo Vargas 25


Comparativa SQL*Plus (Oracle) y MySQL

MySQL

MySQL utiliza el esquema information_schema, que es una base de datos estándar que contiene información
sobre todas las otras bases de datos y objetos dentro del servidor MySQL. Algunas de las vistas importantes
en information_schema son:
TABLES: Proporciona información sobre todas las tablas en todas las bases de datos.
COLUMNS: Ofrece detalles sobre las columnas en todas las tablas.
STATISTICS: Muestra información sobre los índices de las tablas.
TABLE_CONSTRAINTS: Contiene información sobre las restricciones de las tablas.

Figura 35: Consultas al diccionario de datos MySQL

Alumno: Camilo Vargas 26


Comparativa SQL*Plus (Oracle) y MySQL

Bibliografía

 SQL*Plus User's Guide https://docs.oracle.com/en/database/oracle/oracle-database/19/sqpug/


index.html#SQL*Plus%C2%AE

 Manual de SQL (Oracle SQL)


https://jorgesanchez.net/manuales/sql/select-basico-sql2016.html

 The MySQL Command-Line Client


https://dev.mysql.com/doc/refman/8.3/en/mysql.html

 MANUAL DE COMANDOS para MySQL


https://www.cartagena99.com/recursos/alumnos/apuntes/210927124637-Manual%20MySQL.pdf

 MySQL Documentation
https://docs.oracle.com/cd/E17952_01/index.html

Alumno: Camilo Vargas 27

También podría gustarte