INTRODUCCIÓN A SQL *PLUS. Diseño de Bases de Datos y Seguridad en la Información

INTRODUCCIÓN A SQL *PLUS Diseño de Bases de Datos y Seguridad en la Información Bibliografía Complementaria  Gennick, J. “Oracle SQL*Plus: The Def

1 downloads 131 Views 2MB Size

Recommend Stories


Bases de datos. CONTENIDO Tema 3. Lenguajes QBE y SQL
Bases de datos MTIG CONTENIDO Tema 3. Lenguajes QBE y SQL Tema 3.1. Consultas QBE ..............................................................2 3

SQL (Structured Query Language) Plus
Lenguaje de consulta estructurado relacional. Sistema gestor de bases de datos. Sintaxis

Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para Tecnología de la Información
Bases de Datos Relacionales y consultas SQL 1º Bachillerato TIC página 1/15 Bases de Datos Relacionales con Base de OpenOffice y consultas SQL para T

Modelos Avanzados de Bases de Datos. Funcionalidad 1. Bases de datos Orientadas a Objetos y Bases de Datos Objeto-Relacionales
UNIVERSIDAD DE CASTILLA-LA MANCHA ESCUELA SUPERIOR DE INFORMÁTICA Modelos Avanzados de Bases de Datos. Funcionalidad 1 Bases de datos Orientadas a O

Story Transcript

INTRODUCCIÓN A SQL *PLUS Diseño de Bases de Datos y Seguridad en la Información

Bibliografía Complementaria

 Gennick, J. “Oracle SQL*Plus: The Definitive Guide” (2ª edición), O’Reilly, 2004.  SQL*Plus User's Guide and Reference Release 9.2 (ORACLE.COM)  Abramson, Abbey y Corey, “Oracle Database 10g: A Beginner's Guide”, McGrawHill, 2006

2

© 2008 Grupo Kybele

Índice 1. Introducción a) Conexión / Desconexión b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros 4. Interacción con el usuario 5. Salida de SQL*Plus 3

© 2008 Grupo Kybele

Entorno de Desarrollo

SQL*Plus es un entorno de desarrollo Conexión a Bases de Datos Elaborar y probar sentencias SQL Soporta su propio lenguaje de comandos Gestionar Bases de Datos Escribir scripts Generar informes básicos 4

© 2008 Grupo Kybele

Conexión a SQL*Plus

Arrancar SQL*Plus Línea de comandos Accesos Directos a la aplicación GUI Nombre/Usuario/SID

Escritura de comandos No distingue mayúsculas de minúsculas Las sentencias SQL acaban con ‘;’ Los comandos de SQL*Plus no necesitan símbolo de fin. Utilizar ‘-’ para un comando de varias líneas 5

© 2008 Grupo Kybele

Comando CONNECT (SQL*Plus)

CONNECT usuario/password@SID Cambiar el usuario Cambiar la BD a la que nos conectamos

SHOW USER Comprobar el usuario actual

6

© 2008 Grupo Kybele

Salir/Desconectarse de SQL*Plus

DISCONNECT Cierra la conexión, pero mantiene abierta la aplicación

EXIT Termina la sesión Todos los cambios pendientes realizados sobre la BD son comprometidos Todos los cambios realizados sobre la sesión, se pierden ◦ ejemplo: DEFINE _editor 7

© 2008 Grupo Kybele

Comando DESCRIBE (SQL*Plus)

DESC[RIBE] nombre_tabla Proporciona una descripción de la tabla (u objeto) Permite ver su estructura

8

© 2008 Grupo Kybele

Sentencia SELECT (SQL) Recuperar datos de una tabla

USER_TABLES Tabla del diccionario de datos  información sobre la propia BD 9

© 2008 Grupo Kybele

DUAL – Tabla para trabajar con ORACLE

DUAL es una tabla con una única fila y una única columna

Se utiliza para realizar pruebas, obtener resultados …

10

© 2008 Grupo Kybele

Índice 1. Introducción a) Conexión / Desconexión b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros 4. Interacción con el usuario 5. Salida de SQL*Plus 11

© 2008 Grupo Kybele

Edición de comandos en SQL*Plus

Opciones Utilizar el buffer de SQL*Plus Utilizar cualquier otro editor de texto ASCII

Buffer SQL*Plus Guarda sólo la última sentencia SQL (PL/SQL)

Editor de Texto Es la solución recomendada Se puede cambiar el editor por defecto

12

© 2008 Grupo Kybele

El buffer de SQL*Plus

‘L’ muestra el contenido del buffer ‘/’ ejecuta la sentencia que hay en el buffer ‘*’ señala la línea actual

13

© 2008 Grupo Kybele

Editar el contenido del Buffer

‘N’  cambiar línea actual C[HANGE]/texto_anterior/texto_nuevo  modificar línea actual

14

© 2008 Grupo Kybele

Otros comandos para trabajar con el Buffer L

Muestra el contenido del buffer

SQL> L

Ln

Muestra el texto de la línea ‘n’

SQL> L 3

L*

Muestra el texto de la línea actual

SQL> L *

Lxy

Muestra las líneas X a Y

SQL> L 10 18

a texto

Añade texto al final de la línea actual

SQL> a where nombre = ‘BD’

c/texto_ant/texto_nvo Sustituye en la línea actual texto_ant por texto_nvo

SQL> c/*/nombre

c/texto

Elimina texto de la línea actual

SQL> c/titulacion,

I[NPUT]

Añade una línea al buffer, de forma que se pueda seguir escribiendo

SQL> I

DEL

Borra la líne actual

SQL> DEL

15

© 2008 Grupo Kybele

Comando EDIT (SQL*Plus)

ED[IT] Invoca al editor de texto por defecto del SO subyacente Abre el editor, cargando el texto del buffer Al salir, el texto modificado queda en el buffer

Cambiar editor por defecto Añadir esa entrada en $ORACLE_HOME/sqlplus/admin/glogin.sql

16

© 2008 Grupo Kybele

Índice 1. Introducción a) Conexión / Desconexión b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros 4. Interacción con el usuario 5. Salida de SQL*Plus 17

© 2008 Grupo Kybele

Comandos de SQL*Plus: trabajar con ficheros

SAV[E] [FILE] fichero[.ext] Opciones: [CRE[ATE]|REP[LACE]|APP[END]] Guarda el contenido del buffer en ‘fichero.sql’

EDIT fichero Abre el fichero ‘fichero.sql’ en el editor por defecto

GET fichero Carga en el buffer el contenido de ‘fichero.sql’

[Cambiar working directory] 18

© 2008 Grupo Kybele

Comandos de SQL*Plus: trabajar con ficheros

SPOOL fichero Arranca el spooling: todo lo que aparece por pantalla se vuelva en fichero

SPOOL Muestra el nombre del fichero de salida

SPOOL OFF Desactiva el spooling

19

© 2008 Grupo Kybele

Usar un editor externo en SQL*Plus

Editor externo Opción más recomendable La sesión del SQL*Plus permanece activa y visible Escribir el código en un fichero ‘.sql’ Ejecutar el fichero: @fichero.sql

20

© 2008 Grupo Kybele

Ejecutar scripts en SQL*Plus

START fichero Recupera el fichero y ejecuta los comandos que contiene

@fichero Recupera el fichero y ejecuta los comandos que contiene

Se pueden utilizar parámetros @drop_table mitabla

21

© 2008 Grupo Kybele

Índice 1. Introducción a) Conexión / Desconexión b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros 4. Interacción con el usuario 5. Salida de SQL*Plus 22

© 2008 Grupo Kybele

Interacción con el usuario en SQL*Plus

Definir variables de usuario Dar valores a las variables de usuario

Usar el comando DEFINE para dar valores Pedir valores por pantalla 23

© 2008 Grupo Kybele

Variables de usuario DEFINE variable  definir una nueva variable UNDEFINE variable  eliminar la variable DEFINE  muestra todas las variables login.sql  creación de variables en cada sesión

24

© 2008 Grupo Kybele

Variables de sustitución  Una variable de sustitución es un nombre de variable precedido por uno o dos ‘&’  Cuando el sistema encuentra una de estas variables, ejecuta la sentencia reemplazándola por el valor asignado a dicha variable.  Si no se le ha asignado un valor a la variable, éste se pide por pantalla

25

© 2008 Grupo Kybele

Variables de sustitución  Se usa el operador && cuando no queremos que el sistema pregunte varias veces por el valor para una misma variable de sustitución

26

© 2008 Grupo Kybele

Pedir valores por pantalla  Con ACCEPT podemos pedir un valor por pantalla ACCEPT variable [datatype] [FORMAT format] [PROMPT text] [HIDE]

 Si queremos mostrar un mensaje por pantalla y asegurarnos de que el usuario lo lea antes de continuar, podemos usar el comando PAUSE

27

© 2008 Grupo Kybele

Índice 1. Introducción a) Conexión / Desconexión b) Comandos Básicos de SQL*Plus

2. Uso del Buffer

3. Trabajar con ficheros 4. Interacción con el usuario 5. Salida de SQL*Plus 28

© 2008 Grupo Kybele

Salida de SQL*Plus

Justificación por defecto A la izquierda: fechas y tipos carácter A la derecha: tipos numéricos

Nombres de columnas Mayúsculas por defecto

29

© 2008 Grupo Kybele

Salida de SQL*Plus: uso de alias

Cambiar el encabezado de una columna Útil cuando se realizan cálculos El alias se pone después del nombre de la columna Opcionalmente se puede utilizar AS Utilizar comillas dobles si incluye espacios, caracteres especiales o se quiere asegurar el comportamiento de may/min

30

© 2008 Grupo Kybele

Salida de SQL*Plus: concatenar columnas Concatenar el valor de una o más columnas Símbolo utilizado: || Crea una columna que es el resultado de concatenar las columnas seleccionadas

31

© 2008 Grupo Kybele

Salida de SQL*Plus: uso de literales

Incluir literales en el resultado de una consulta Al construir la consulta se incluye una expresión entre comillas SIMPLES y se utiliza el operador || La expresión se incluye en la salida para cada una de las filas que devuelve la consulta

32

© 2008 Grupo Kybele

Salida de SQL*Plus: comandos SET SET COLSEP {“ “ | texto}

 Muestra un título y subtítulo en cada página

SET PAGES[IZE] {24 | n}

 Nº de líneas (del resultado de una consulta, incluyendo los nombres de las columnas, las rayas de separación y las filas) mostradas por pantalla antes de volver a imprimir los nombres de las columnas. Por defecto son 24  No tiene efecto si el PAUSE no está activo (ON)

SET PAU[SE] {OFF | ON}

 Para el scroll cuando alcanza el PAGESIZE activo, y espera un ENTER para continuar (para mostrar las siguientes PAGESIZE filas).

SET LIN[ESIZE] {80 | n}

 Establece la máxima longitud de una línea en pantalla. Por defecto es 100

SET TERMOUT {ON | OFF}  Salida por pantalla

SET UNDERLINE {‘texto’}

 Carácter utilizado para subrayar los encabezados de columna

SET FEEDBACK {6 | n | OFF | ON}

 Mostrar número de filas devueltas o afectadas por una sentencia SQL (definir umbral)

33

© 2008 Grupo Kybele

Salida de SQL*Plus: comandos de formato

COLUMN [opciones] TITTLE [texto |OFF | ON] Muestra un título en cada página

BTITTLE [texto | OFF | ON] Muestra un subtítulo en cada página

34

© 2008 Grupo Kybele

Salida de SQL*Plus: COLUMN CLE[AR]  Elimina las opciones de formato previamente definidas para esta columna

FOR[MAT] formato  Cambia la forma en que se muestra la columna usando otro modelo de formato

HEAD[ING] texto  Define el encabezado para la columna (por defecto se muestra el nombre de la columna)  Usar ‘|’ para incluir varias líneas

JUST[IFY] {left | center | right}  Define el tipo de alineación de la columna

NUL[L] texto  Mensaje a mostrar en lugar de valores nulos 35

© 2008 Grupo Kybele

Salida de SQL*Plus: COLUMN (opciones de formato)

COLUMN FORMAT COLUMN FORMAT An ◦ Visualiza una columna de tipo CHAR o VARCHAR2 con una anchura de n caracteres alfanuméricos

COLUMN FORMAT 999,999.999 ◦ Visualiza una columna de tipo NUMBER con el formato indicado

COLUMN CLEAR Elimina el formato para la columna indicada

COLUMN Muestra el formato actual establecido para la columna indicada 36

© 2008 Grupo Kybele

Salida de SQL*Plus COLUMN FORMAT COLUMN FORMAT An Visualiza una columna de tipo CHAR o VARCHAR2 con una anchura de n caracteres alfanuméricos

Importante: los formatos COLUMN FORMAT 999,999.999 establecidos permanecen Visualiza una columna de tiposólo NUMBER con el formato indicado COLUMN DEFAULT durante la sesión SQL*Plus Establece el formato por defecto para la columna indicada

COLUMN CLEAR

queremos que se mantengan Elimina el formatoSipara la columna indicada

COLUMN

· fichero glogin.sql ·directorio $ORACLE_HOME\sqlplus\admin

Muestra el formato actual establecido para la columna indicada

37

© 2008 Grupo Kybele

Creación de informes con SQL*Plus 1. 2. 3. 4.

5. 6.

38

Definir sentencia SELECT Guardar en un fichero Añadir comandos de formato antes de la sentencia Incluir carácter de terminación después de la sentencia [Eliminar opciones de formato después de la sentencia] Ejecutar el fichero (START fichero.sql | @fichero.sql) © 2008 Grupo Kybele

Creación de informes con SQL*Plus SET PAGESIZE 37

SET LINESIZE60 SET FEEDBACK OFF TTITLE 'Informe de Empleados' BTITLE 'Confidential'

BREAK ON puesto COLUMN puesto HEADING 'Puesto|Categoria' FORMAT A15 COLUMN nombre HEADING 'Empleado' FORMAT A15 COLUMN salario HEADING 'Salario' FORMAT 99999 REM ** Sentencia SELECT SELECT puesto, nombre, salario FROM empleados WHERE salario < 3000 ORDER BY puesto, nombre / SET FEEDBACK ON 39

© 2008 Grupo Kybele

Utilizar Mensajes por pantalla

Paquete DBMS_OUPTUT Ofrece algunas facilidades para la salida por pantalla DBMS_OUTPUT.PUT_LINE (‘Mensaje’ || variable); Activar con SET SERVEROUTPUT ON

40

© 2008 Grupo Kybele

SQL vs SQL*Plus SQL  Un lenguaje  Estándar ANSI  Palabras clave no admiten abreviatura  Las sentencias modifican las tablas y los datos de la BD  Las sentencias van al buffer  Una o varias líneas van al buffer cada vez.  Sin carácter de continuación  El carácter ‘;’ indica fin de sentencia e invoca su ejecución

41



SQL*Plus   





 



Un entorno Propio de ORACLE Palabras clave admiten abreviatura Los comandos no permiten manipular los datos de la BD Los comandos NO se guardan en el buffer Una línea cada vez Carácter ‘-’ indica continuación de línea No hay fin de sentencia

© 2008 Grupo Kybele

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.