Actividad2 capitulo I contenido

19
CAPITULO I ESCRIBIENDO SENTENCIAS BÁSICAS DE SQL OBJETIVOS Después de completar esta lección Ud. deberá ser capaz de realizar lo siguiente: Listar las capacidades de la sentencia SELECT de SQL. Ejecutar una sentencia básica de SELECT Diferenciar entre las sentencias SQL y los comandos de SQL*PLUS OBJETIVO DE LA LECCIÓN Para extraer datos de la base de datos Ud. necesita usar el comando SELECT del lenguaje estructurado de consulta (SQL.). Ud. podrìa necesitar restringir las columnas que son mostradas. Esta lección describe todos las sentencias SQL. que necesita para obtener estas acciones. Ud. podría querer crear sentencias SELECT que puedan ser reutilizadas. Esta lección también cubre el uso de comandos de SQL*PLUS para ejecutar sentencias de SQL. CAPACIDADES DE LA SENTENCIA SELECT DE SQL La sentencia SELECT recupera información de la base de datos. Al utilizarla Ud. puede realizar lo siguiente: Selección: Ud. puede utilizar la capacidad de selección para elegir filas en una tabla que Ud. desea de respuesta a una consulta. Ud. puede utilizar varios criterios para restringir selectivamente las columnas que Ud. ve.

Transcript of Actividad2 capitulo I contenido

Page 1: Actividad2 capitulo I  contenido

CAPITULO I

ESCRIBIENDO SENTENCIAS BÁSICAS DE SQL

OBJETIVOS

Después de completar esta lección Ud. deberá ser capaz de realizar lo siguiente:

Listar las capacidades de la sentencia SELECT de SQL.

Ejecutar una sentencia básica de SELECT

Diferenciar entre las sentencias SQL y los comandos de SQL*PLUS

OBJETIVO DE LA LECCIÓN

Para extraer datos de la base de datos Ud. necesita usar el comando SELECT del lenguaje estructurado de consulta (SQL.). Ud. podrìa necesitar restringir las columnas que son mostradas. Esta lección describe todos las sentencias SQL. que necesita para obtener estas acciones. Ud. podría querer crear sentencias SELECT que puedan ser reutilizadas. Esta lección también cubre el uso de comandos de SQL*PLUS para ejecutar sentencias de SQL.

CAPACIDADES DE LA SENTENCIA SELECT DE SQL

La sentencia SELECT recupera información de la base de datos. Al utilizarla Ud. puede realizar lo siguiente:

Selección: Ud. puede utilizar la capacidad de selección para elegir filas en una tabla que Ud. desea de respuesta a una consulta. Ud. puede utilizar varios criterios para restringir selectivamente las columnas que Ud. ve.

Page 2: Actividad2 capitulo I  contenido

Proyección: Ud. puede utilizar la capacidad de proyección para elegir columnas en una tabla que Ud. desea de respuesta a una consulta. Ud. puede elegir unas pocas o muchas columnas de la tabla como requiera.

Unión: Ud. puede utilizar la capacidad de unión para mostrar juntas la información almacenada en diferentes tablas mediante la creación de un link entre ellas.

Page 3: Actividad2 capitulo I  contenido

SENTENCIA SELECT BÁSICA

• SELECT identifica que columnas va a desplegar • FROM identifica tabla de la que se va a obtener la información

En su forma simple, la sentencia SELECT debería incluir lo siguiente:

♠♠ La cláusula SELECT, la cual especifica cha columnas serán desplegadas

♠♠ La cláusula FROM, la cual especifica la tabla que contiene las columnas listad en la cláusula SELECT.

Sintaxis:

SELECT es una lista de una o mas columnasDISTINCT elimina los nombres duplicados* selecciona todas las columnascolumn selecciona la columna especificaalias le da a la columna seleccionada una cabecera diferenteFROM table especifica la tabla que contiene las columnas

Nota: A lo largo de este curso las palabras : clave, cláusula y sentencia son utilizadas:

♠♠ Una clave se refiere a un elemento individual de SQL; por ejemplo: SELECT y FROM son palabras claves.

♠♠ Una cláusula es parte de una sentencia de SQL., por ejemplo: SELECT empno, ename, … es una cláusula.

♠♠ Una sentencia es una combinación de dos o mas cláusulas, por ejemplo: SELECT * FROM emp es una sentencia.

Volver...

ESCRIBIENDO SENTENCIAS SQL

• Las sentencias de SQL. son no sensitivas, a menos que se lo indique

• Las sentencias de SQL. pueden ser ingresadas en una o en varias líneas.

• Las palabras claves no pueden ser divididas en líneas o ser abreviadas.

• Las cláusulas son usualmente ubicadas en líneas separadas para una mejor lectura y facilidad de edición

• Las tabulaciones pueden ser utilizadas para hacer código mas legible .

SELECT [DISTINCT] {*, column [alias], … }FROM table;

Page 4: Actividad2 capitulo I  contenido

Usando las siguientes reglas y pautas, Ud. podrá construir sentencias validas que son fáciles para leer y editar:

•• Las sentencias de SQL. son no sensitivas, a menos que se lo indique.•• Las sentencias de SQL. pueden ser ingresadas en una o en varias líneas.•• Las palabras claves no pueden ser divididas en líneas o ser abreviadas.•• Las cláusulas son usualmente ubicadas en líneas separadas para una

mejor lectura y facilidad de edición•• Las tabulaciones e indentaciones pueden ser utilizadas para hacer código

más legible .•• Las palabras claves típicamente son ingresadas en mayúsculas, el resto de

las palabras tales como el nombre de las tablas y columnas son ingresadas en minúsculas.

•• Dentro de SQL*PLUS, una sentencia de SQL es ingresada en el prompt de SQL, y las líneas subsiguientes son numeradas. Esto es denominado SQL buffer. Solamente una sentencia puede estar actualmente en cualquier momento dentro del buffer.

EJECUTANDO SENTENCIAS SQL

•• Ponga un punto y coma (;) al final de la ultima cláusula.•• Ponga una diagonal (/) en la ultima línea del buffer.•• Ponga una diagonal (/) en el prompt de SQL•• Digite el comando RUN de SQL*PLUS en el prompt de SQL

SELECCIONANDO TODAS LAS COLUMNAS, TODAS LAS FILAS

Ud. puede desplegar todas las columnas de datos en una tabla digitando la palabra clave SELECT con un asterisco (*). En el ejemplo, la tabla departamento contiene tres columnas: deptno, dname y loc. La tabla contiene cuatro filas, una por cada departamento. Ud. también puede desplegar todas las columnas de la tabla listando todas las columnas después de la palabra SELECT. Por ejemplo, la siguiente sentencia SQL, despliega todas las columnas y filas de la tabla:

SQL> SELECT *FROM dept;

DEPTNO DNAME LOC------------- ------------------------- ----------------

10 ACCOUNTING NEW YORK20 RESEARCH DALLAS30 SALES CHICAGO40 OPERATIONS BOSTON

SQL> SELECT deptno, dname, loc FROM dept;

Page 5: Actividad2 capitulo I  contenido

SELECCIONANDO COLUMNAS ESPECÍFICAS, TODAS LAS FILAS

Ud. puede usar la sentencia SELECT para desplegar columnas especificas de l tabla especificando los nombres de las columnas separadas por comas. En el siguiente ejemplo, se muestran todos los números de departamento y sus localidades de la tabla dept:

En la cláusula SELECT se especifican las columnas a observar en el orden en el que se desea que estas aparezcan, por ejemplo, para desplegar la localidad antes del número de departamento se usa la siguiente sentencia:

VALOR POR DEFECTO DE LOS ENCABEZADOS DE COLUMNA

Los caracteres del encabezado de columna y sus datos están justificados a la izquierda dentro del ancho de su columna. Los encabezados numéricos y los datos están justificados a la derecha:

SQL> SELECT deptno, loc FROM dept;

DEPTNO LOC------------- ----------------

10 NEW YORK20 DALLAS30 CHICAGO40 BOSTON

SQL> SELECT loc, deptno FROM dept;

LOC DEPTNO------------------ -------------------NEW YORK 10DALLAS 20CHICAGO 30BOSTON 40

SQL> SELECT ename, hiredate, salFROM emp;

ENAME HIREDATE SAL------------------- -------------- ------------

SMITH 17/12/80 800ALLEN 20/02/81 1600WARD 22/02/81 1250JONES 02/04/81 2975MARTIN 28/09/81 1250

Page 6: Actividad2 capitulo I  contenido

Los encabezados de datos y carácter pueden ser truncados, pero los encabezados numéricos no. Los encabezados de columna aparecen en mayúsculas por defecto. Ud. puede modificar el despliegue del encabezado usando un alias.

Volver...

EXPRESIONES ARITMÉTICAS

Operador Descripción+ Adición- Substracción* Multiplicación/ Dividido

Usted puede requerir modificar la manera en la que los datos son desplegados, mejorar cálculos u observarlos como guiones. Esto es posible usando expresiones aritméticas. Una expresión aritmética puede contener nombres de columnas, valores numéricos constantes y operadores aritméticos.

OPERADORES ARITMÉTICOS

Ud. puede usar los operadores aritméticos en cualquier cláusula de una sentencia SQL exceptuando en la cláusula FROM.

Page 7: Actividad2 capitulo I  contenido

USANDO LOS OPERADORES ARITMÉTICOS

En el siguiente ejemplo Ud. puede calcular un incremento de $300 en el salario para todos los empleados y desplegar una columna nueva SAL+300. Note que el resultado calculado de la columna SAL+300 no es una nueva columna en la tabla emp; sólo es un despliegue. Por defecto el nombre de una nueva columna viene del cálculo que, en este caso, es SAL+300.

Nota: SQL*PLUS ignora los espacios en blanco antes y después del operador aritmético.

PRECEDENCIA DE LOS OPERADORES

• Multiplicación y la división tienen mayor prioridad que la adición

• Los operadores de una misma prioridad son evaluados de izquierda a derecha

• Los paréntesis que la expresión dentro de ellos sea evaluada primera.

Si una expresión aritmética contiene más de un operador, la multiplicación y división son evaluadas primero. Si los operadores dentro de una expresión tienen la misma prioridad, la evaluación se realiza de izquierda a derecha. Ud. puede usar paréntesis para forzar que la expresión dentro de los paréntesis sea evaluada primero.

En el siguiente ejemplo se despliega el nombre, el salario y la compensación anual de los empleados. Esta calcula la compensación anual con 12 multiplicado por el salario mensual mas un bono de $100. Note que la multiplicación es realizada antes de la suma.

Nota: Use los paréntesis para reforzar el orden estándar de precedencia y mejorar la claridad. Por ejemplo, la expresión puede ser escrita como (12*sal)+100 sin cambio en el resultado.

SQL> SELECT sal,sal+300 FROM emp;

ENAME SAL SAL+300SMITH 800 1100ALLEN 1600 1900WARD 1250 1550JONES 2975 3275MARTIN 1250 1550

SQL> SELECT ename, sal, 12*sal+100FROM emp;

* / + -

Page 8: Actividad2 capitulo I  contenido

USANDO PARÉNTESIS

Ud. puede modificar las reglas de precedencia usando paréntesis para especificar el orden en el cual los operadores son ejecutados. El siguiente ejemplo despliega el nombre, salario y compensación anual de los empleados tal como el ejemplo anterior pero debido al paréntesis la adición toma prioridad sobre la multiplicación.

DEFINIENDO VALORES NULOS

Si en una fila falta el dato para una columna en particular se dice que esta nula o contiene un nulo. Un valor nulo es un valor indefinido, no asignado,

ENAME SAL 12*SAL+100------------------- -------------- -------------------

SMITH 800 9700ALLEN 1600 19300WARD 1250 15100JONES 2975 35800MARTIN 1250 15100

SQL> SELECT ename, sal, 12*(sal+100)FROM emp;

ENAME SAL 12*(SAL+100)------------------- -------------- -------------------

SMITH 800 9700ALLEN 1600 19300WARD 1250 15100JONES 2975 35800MARTIN 1250 15100

SQL> SELECT ename, job, sal, commFROM emp;

ENAME JOB SAL COMM------------------- -------------- -------------- -------------

-SMITH CLERK 800ALLEN SALESMAN 1600 300WARD SALESMAN 1250JONES MANAGER 2975MARTIN SALESMAN 1250

Page 9: Actividad2 capitulo I  contenido

desconocido o inaplicado. Un valor nulo no es lo mismo que un cero o un espacio. Cero es un número y un espacio es un caracter. Las columnas de cualquier tipo de dato pueden contener valores nulos, a menos que la columna sea definida como ‘no nula’ o como llave primaria cuando la columna era creada. En la columna COMM de la tabla emp, Ud. puede notar que sólo un vendedor pudo ganar comisiones. Otros empleados son clasificados que no ganaron comisiones. Un valor nulo representa este hecho. Turner, quien es un vendedor, no ha ganado ninguna comisión. Note que esta comisión es cero y no nulo.

VALORES NULOS EN EXPRESIONES ARITMÉTICAS

Si el valor de alguna columna en una expresión aritmética es nulo, el resultado es nulo. Por ejemplo, si Ud. se empeña en realizar una división por cero, Ud. obtendrá un error. Sin embargo, si Ud. divide un número por un nulo, el resultado es un nulo o un valor desconocido. En el siguiente ejemplo, el empleado KING no es un vendedor y no obtiene ninguna comisión. Debido a que la columna COMM en la expresión aritmética es nulo, el resultado es nulo.

Volver...

DEFINIENDO UN ALIAS DE COLUMNA

• Permite renombrar una columna• Usado para cálculos• Después de nombrar a la columna se puede poner AS

para poner el alias.• Requiere de comillas dobles cuando el alias tiene

espacios en blanco.

Cuando se despliega el resultado de una consulta, SQL*PLUS normalmente usa el nombre de la columna seleccionada como encabezado de esa columna. En muchas ocasiones este encabezado puede no ser descriptivo y por eso es difícil de ser entendido. Ud. puede cambiar el encabezado de una columna usando un alias. Especifique el alias después de la columna en la lista de SELECT usando un espacio como un separador. Por defecto, el encabezado de alias aparece en mayúsculas. Si el alias contiene espacios , caracteres especiales (tales como # o $), o si es sensitivo, adjunte el alias en comillas dobles (“”).

SQL> SELECT ename, 12*sal+commFROM empWHERE ename=’KING’;

ENAME 12*SAL+COMM------------------- --------------

KING

Page 10: Actividad2 capitulo I  contenido

USANDO EL ALIAS DE COLUMNA

El siguiente ejemplo despliega el nombre y el salario mensual de todos los empleados. Note que la palabra clave opcional AS ha sido usada antes de la columna con alias. El resultado de la consulta podría ser el mismo aún si la clave AS es usada o nó. Note también que l sentencia SQL tiene un alias d columna nombre y salario en minúsculas, considerando que el resultado de la consulta despliega loa encabezados de columna en mayúsculas asì:

En este ejemplo se despliega el nombre y el salario anual de todos los empleados. Debido a que el salario anual contiene espacios, este ha sido encerrado entre comillas dobles. Note que el encabezado de columna en la salida es exactamente el mismo que en la columna alias.

Volver...

OPERADOR DE CONCATENACIÓN

• Concatena columnas o cadenas de caracteres u otras columnas

• Representado por ||• Crea una columna resultante que es una expresión

SQL> SELECT ename AS name, sal salaryFROM emp

NAME SALARY------------------- ------------

SMITH 800ALLEN 1600WARD 1250JONES 2975MARTIN 1250

SQL> SELECT ename “name”, sal*12 “salario anual” FROM emp

NAME SALARIO ANUAL----------------

--------------

SMITH 9600ALLEN 19200WARD 15000JONES 35700MARTIN 15000

Page 11: Actividad2 capitulo I  contenido

Ud. puede unir columnas a otras columnas, expresiones aritméticas o valores constantes para crear una expresión caracter usando el operador de concatenación ( | | ). Las columnas a cada lado del operador son combinadas para crear una salida como una única columna.

USANDO EL OPERADOR DE CONCATENACIÓN

En el siguiente ejemplo, las columnas ename y job son concatenados y son asignadas el alias empleados. Note que el numero del empleado y el trabajo están combinadas para producir por salidauna sola columna. La palabra clave AS abtes del nombre del alias hace que la cláusula SELECT sea fácil de leer.

CADENAS LITERALES DE CARACTERES

Un literal es un carácter, un número, o información incluida en la sentencia SELECT lista que no hay un nombre de columna o un alias de columna. Ésta se encuentra impresa para cada fila retornada. Las cadenas literales con texto de libre formato pueden ser incluìdas in el resultado de la consulta y ser tratadas igual que en la lista de la sentencia SELECT. Los datos y caracteres literales deberán estar encerrados entre comillas simples mientras que los números no.

USANDO UNA CADENA LITERAL DE CARACTERES

En el siguiente ejemplo se despliegan los nombres y trabajos de todos los empleados. La columna ha sido titulado como Detalles de Empleados. Note que los espacios entre las comillas simples en la sentencia SELECT. El espacio mejora la legibilidad de la salida.

SQL> SELECT ename || job as “empleados” FROM Emp

EMPLEADOS-------------------SMITHCLERK

ALLENSALESMANWARDSALESMANJONESMANAGER

MARTINSALESMAN

SQL> SELECT ename || ‘ is a ’ || job as “Detalles de Empleados ” FROM emp;

DETALLES DE EMPLEADOS-------------------

SMITH is a CLERKALLEN is a SALESMANWARD is a SALESMANJONES is a MANAGER

MARTIN is a SALESMAN

Page 12: Actividad2 capitulo I  contenido

En el siguiente ejemplo, el nombre y el salario de cada empleado está concatenado con un literal para dar a la fila que retorna un mayor significado:

Volver...

FILAS DUPLICADAS

A menos que Ud. lo indique en otra parte, SQL*PLUS despliega el resultado de una consulta sin eliminar las filas duplicadas. En el siguiente ejemplo se muestran todos los números de departamento de la tabla emp. Note que los números de departamento son repetidos.

SQL>2

SELECT ename || ‘ : ’ || ‘ 1 ’ || ‘ Salario Mensual = ’ || sal monthly

3 FROM emp;

MONTHLY---------------------------------------------------------------SMITH 1 Salario Mensual =800ALLEN 1 Salario Mensual =1600WARD 1 Salario Mensual =1250JONES 1 Salario Mensual =2975MARTIN 1 Salario Mensual =1250BLAKE 1 Salario Mensual =2850

SQL> SELECT deptno FROM Emp

DEPTNO-------------------

1030102010

Page 13: Actividad2 capitulo I  contenido

ELIMINANDO LAS FILAS DUPLICADAS.

Para eliminar las filas duplicadas en el resultado incluya la palabra clave DISTINCT en la cláusula SELECT inmediatamente después de ella. En el siguiente ejemplo, la tabla emp actualmente contiene 14 filas pero únicamente solo tres números de departamento en la tabla. Ud. puede especificar múltiples columnas después del cualificador DISTINCT, el mismo que afecta a todas las columnas seleccionadas y los resultados representan un combinación distinta de las columnas.

Volver...

INTERACCIÓN DE SQL Y SQL*PLUS

SQL> SELECT DISTINCT deptno FROM emp

DEPTNO-------------------

102030

SQL> SELECT DISTINCT deptno, job FROM emp

DEPTNO JOB------------------- ------------------

10 CLERK10 MANAGER10 PRESIDENT20 ANALYST

Page 14: Actividad2 capitulo I  contenido

SQL Y SQL*PLUS

SQL es un lenguaje de comandos para la comunicación con el servidor de lenguaje Oracle desde cualquier herramienta o aplicación. Oracle SQL contiene muchas extensiones. Cuando Ud. ingresa una sentencia SQL Ésta es almacenada en una parte de la memoria llamada buffer de SQL y permanece allí hasta que Ud. ingrese una nueva sentencia. SQL*PLUS es una herramienta de Oracle que reconoce y somete las sentencias SQL al servidor de Oracle para su ejecución y contiene su propio lenguaje.

CARACTERÌSTICAS DEL SQL

•• Puede ser utilizado por un rango de usuarios, incluìdos aquellos con un poco o sin ninguna experiencia.

•• Es un lenguaje no procedimental.•• Reduce la cantidad de tiempo requerido para crear y mantener un sistema.•• Es un lenguaje similar al Inglés.

CARACTERISTICAS DEL SQL*PLUS

•• Acepta entradas de sentencias ad-hoc.

Server

Búffer

SQL*PLUS

Sentencia SQL Sentencia SQL

Comandos SQL*PLUS

Query Results

Reporte Formatead

Server

Page 15: Actividad2 capitulo I  contenido

•• Acepta entradas de SQL desde archivo.•• Provee un editor de línea para modificar las sentencias SQL•• Controla la configuración del entorno.•• Formatea los resultados de las consultas dentro de un reporte básico.•• Accede local y remotamente a las bases de datos.

SENTENCIAS SQL VERSUS COMANDOS SQL*PLUS

La siguiente tabla compara a SQL y SQL*PLUS :

SQL SQL*PLUS •• Es un lenguaje para la comunicación

con el servidor Oracle para el acceso de los datos

•• Reconoce las sentencias SQL y las envìa al servidor.

•• Está basado en el estándar ANSI SQL

•• La interfase es propiedad de Oracle para la ejecución de las sentencias SQL

•• Manipula los datos y las definiciones de las tablas en la base de datos.

•• No permite la manipulación de valores en la base de datos .

•• Es ingresado en el buffer SQL en una o más líneas

•• Es ingresado una línea a la vez. No se almacena en el buffer SQL

•• No tiene una continuación de carácter

•• Tiene un guión (-) como n carácter de continuación si el comando es más extenso que una línea.

•• No puede estar abreviado •• Puede estar abreviado•• Utiliza un caracter de terminación

para ejecutar el comando inmediatamente

•• No requiere de caracteres de terminación; los comandos son ejecutados

•• inmediatamente.•• Utiliza funciones para realizar

algunos formatos•• Utiliza comandos para formatear

datos.

SQL SQL*PLUS

* un idioma * un ambiente

* es estándar de ANSI * propiedad de Oracle

* palabras claves no pueden abreviarse * las palabras claves pueden ser abreviadas.

* .las sentencias manipulan datos y definiciones de tablas en la base de datos

* los comandos no permiten la manipulación de valores en la base de datos

Sentencias SQL

Búffer SQL

Comandos SQL

Búffer SQL*PLUS

Page 16: Actividad2 capitulo I  contenido

APRECIACIÓN GLOBAL DE SQL*PLUS • Anotaciones en SQL*PLUS • Describe la estructura de la tabla• Edita sus sentencias de SQL• Ejecuta el SQL desde el SQL*PLUS • Guarda las sentencias SQL en archivos y añade las sentencias SQL a

los archivos• Ejecuta archivos guardados.• Carga los comandos desde el archivo al buffer para su edición.

SQL*PLUS es un entorno en el cual Ud. puede desarrollar lo siguiente:

•• Ejecuta las sentencias SQL para recuperar, modificar, agregar y remover datos de la base de datos.

•• Formatea, realiza cálculos, almacena e imprime los resultados de reportes en forma de reportes.

•• Crea un archivo de escritura (script) para guardar las sentencias SQL para uso repetitivo en el futuro.

Los comandos de SQL*PLUS pueden ser divididos en las siguientes categorìas:

Categorìa PropósitoEntorno Afecta el comportamiento general de las sentencias de SQL

para esa sesiónFormato Formatea el resultado de las consultasManipulación de archivo

Guarda, carga y corre archivos de escritura

Ejecución Envìa sentencias SQL hacia el buffer de Oracle 8 ServerEdición Modifica las sentencias SQL en el buffer.Interacción Le permite a Ud. crear y pasar variables a las sentencias

SQL, imprimirlas y presentar mensajes en pantallaMisceláneos Tiene varios comandos para conectarse a la base de datos,

manipular el entorno de SQL*PLUS y desplegar las definiciones de las columnas.

CONECTÁNDOSE A SQL*PLUS

• Para el entorno de Windows

Page 17: Actividad2 capitulo I  contenido

• Con la línea de Comando

La manera de invocar SQL*PLUS depende del tipo de sistema operativo o entorno Windows que Ud.esté corriendo. Para conectarse en unambiente Windows:

•• Click en start -> programas -> Oracle para WinNT -> SQL*PLUS plus 8.0•• Llenar los campos username, password y database

Para conectarse a través de un entorno de líneas de comando (DOS):

•• Conéctese a su máquina.•• Ingrese el comando de SQL*PLUS de la siguiente manera:

> sqlplus [username [/password[ @database ]]]

username: es el nombre de su base de datos password: es la clave de su base de datos. (si Ud. ingresa la clave

aquì, ésta es visible) @database: es la cadena para conectarse a la base de datos.

Nota: Para asegurar la integridad de su clave, no la ingrese en el prompt del sistema operativo. En su lugar, ingrese únicamente su nombre de usuario. Ingrese el password en el prompt del password. Una vez que Ud. se ha conectado con éxito a SQL*PLUS , Ud. podrá observar el siguiente mensaje:

SQL*Plus: Release 8.0.3.0.0 - Production on Vie Dic 28 1:54:30 2001(c) Copyright 1997 Oracle Corporation. All rights reserved.Conectado a:Personal Oracle8 Release 8.0.3.0.0 - ProductionWith the Partitioning optionPL/SQL Release 8.0.3.0.0 - Production

Volver...

DESPLEGANDO LA ESTRUCTURA DE LA TABLA

En SQL*PLUS Ud. puede desplegar la estructura de la tabla usando el comando describe. El resultado del comando permite ver los nombres de las columnas y sus tipos de datos asì como si una columna debería contener datos.

Sintaxis:

Sqlplus[username[/password[@database]]]username[/password[@database]]]

DESCRIBE [tablename]

Page 18: Actividad2 capitulo I  contenido

tablename: es el nombre de una tabla existente, vista o sinónimo accesible para el usuario.

En el anterior ejemplo se observa la descripción de la tabla dept:

- null? Indica si una columna deberá contener datos; not null indica que esa columna deberá contener datos.

- type despliega el tipo de dato de una columna

Los tipos de datos son descritos en la siguiente tabla:

Tipo de dato DescripciónNUMBER (p, s) Valor numérico que tiene un máximo número de dígitos p,

y el numero de dígitos decimales s.VARCHAR2(s) Valor carácter de longitud variable con un máximo de

tamaño sDATE Valor de tiempo y fecha entre Enero1, 4712 AC y

Diciembre 31,9999 DCCHAR (s) Longitud fija de caracteres con un valor de tamaño s.

COMANDOS DE EDICIÓN DE SQL*PLUS

Los comandos de edición de SQL*PLUS son ingresados una línea a la vez y no son almacenados en el buffer de SQL

Comandos DescripciónA[PPEND] text Agrega texto al final de la línea actualC[HANGE] /old / new

Cambia un texto viejo por uno nuevo en la línea actual.

C[HANGE] /text Borra el texto de la línea actualC[LEAR] BUFF[ER]

Borra todas las líneas del buffer SQL

DEL Borra la línea actualHI[NPUT] Inserta un número indefinido de líneasI[NPUT] text Inserta una línea consistente de textoL[IST] Lista todas las líneas del buffer de SQLL[IST]n Lista una línea (especificada por n)L[IST]m n Lista un rango de líneas (m a n)R[UN] Despliega y corre la sentencia de SQL que actualmente está

en el buffer N Especifica la linea para hacerla línea actualn text Reemplaza la linea n con texto0 text Inserta una linea antes de la línea 1

SQL> DESCRIBE dept

DEPTNO NULL? TYPE---------------

-------------------- ------------------

DEPTNO NOT NULL Number (2)DANME Varchar2 (14)

LOC Varchar2 (13)

Page 19: Actividad2 capitulo I  contenido

PAUTAS:

•• Si Ud. presiona [return] antes de completar un comando, SQL*PLUS le avisa a Ud. mediante un número.

•• Ud. termina el buffer SQL por ingresar uno de los caracteres de terminación ( ; o / ) o presionando [return] dos veces. Luego Ud. verá el prompt de SQL

•• Ud. puede ingresar solamente un comando SQL*PLUS por cada prompt. Los comandos no son almacenados en el buffer. Para continuar con un comando SQL*PLUS en la siguiente línea, finalice la línea actual con un guión (-).

COMANDOS DE ARCHIVOS DE SQL*PLUS

Las sentencias de SQL se comunican con el servidor de Oracle. Los comandos de SQL*PLUS controlan el entorno, el formato de las consultas y administran los archivos. Ud. puede usar los comandos identificados en la siguiente tabla:

Comandos DescripciónS[AVE] filename [.ext][REP[LACE]APP[END]]

Guarda el contenido actual del buffer SQL en un archivo. Use append para añadir algo en un archivo existente; use replace para sobreescribir un archivo existente. La extensión por defecto es *.sql

GET filename [.ext] Escribe el contenido de un archivo previamente guardado en el buffer SQL La extensión por defecto es *.sql

STA[RT]filename [.ext] Corre un comando de archivo previamente almacenado

@filename [.ext] Corre un comando de archivo previamente almacenado (similar a START)

ED[IT] Invoca al editor y almacena el contenido del buffer en un archivo llamado afied.buf

ED[IT]filename [.ext] Invoca al editor para editar el contenido de un archivo almacenado

SPO[OL]filename [.ext] OFF/OUT

Almacena los resultados de las consultas en un archivo. Off cierra el archivo spool. Out cierra el archivo y envìa el resultado del archivo al sistema de impresión

EXIT Abandona SQL*PLUS

Volver...