Está en la página 1de 48

Ampliar tamaño de la pantalla

El tamaño de la pantalla/pagina se controla con dos


parámetros: LINESIZE y PAGESIZE que controlan,
respectivamente, el tamaño~ de las líneas (numero de
columnas) y el tamaño~ de la pagina (numero de líneas).
El tamaño~ actual en un momento dado se puede ver con la
orden SHOW:
SHOW LINESIZE
SHOW PAGESIZE
Para modificar estos valores, se utilizara SET:
SQL>Set pagesize 200
SQL>Set linesize 200
Editar la ultima sentencia
Editar la ultima sentencia
Luego de ejecutar el comando editar ed nos muestra
en la pantalla un editor de texto con el cual
podemos modificar la instrucción
Para salir del editor de texto nos vamos al menu
archivo se guarda y oprime salir
Para ejecutar lo editado se coloca / y presionamos
la tecla enter
SQL> /
Exportar la base de datos
SQL> host exp admin/123456 owner=admin file
=prueba.dmp

select nombre, salario+comision from emp where


oficio='Comercial'Estructura
Host exp usuario/contraseña owner=usuario
file=nombre del archivo.dmp

Este archivo se guarda en la siguiente ruta C:\orant\BIN


Exportar la base de datos
Importar una base de datos
SQL> host imp admin/123456 fromuser=admin
file=prueba.dmp touser=admin

Estructura
SQL> host imp usuario que creo la base de datos
/contraseña fromuser=usuario que creo la base de
datos file=nombre del archivo.dmp touser=usuario

Nota: el archivo debe ser copiado en la ruta


C:\orant\BIN
Creación de tablas
Seguidamente se presenta un ejemplo en el que se crean dos tablas, una de
departamentos y otra de empleados:
Tabla departamento con un código de departamento, un nombre y una
Localización.

create table dep


(cod_dep number(3),
nombre varchar2(20) not null,
loc varchar2(20),
constraint dep_pk primary key (cod_dep),
constraint dep_loc check
(loc in ('Barranquilla', 'Bogota', 'Medellin'))
);
La restricción CHECK IN se utiliza para limitar el margen de valores
que se pueden colocar en una columna.
Creación de tablas
tabla empleado con un código de empleado, un nombre, un oficio, un
jefe, una fecha de alta en la empresa, un salario mensual, una
comisión y el código del departamento donde trabaja.

create table emp (


cod_emp number(3),
nombre varchar2(20) not null,
oficio varchar2(20),
jefe number(3),
fecha_alta date,
salario number(10),
comision number(10),
cod_dep number(3),
constraint emp_pk primary key (cod_emp),
constraint emp_fk foreign key (cod_dep) references dep(cod_dep)
on delete cascade,
constraint emp_ck check (salario > 0)
);
opción ON DELETE CASCADE
Se utiliza la opción ON DELETE CASCADE para especificar si
desea que las filas sean eliminadas en una tabla secundaria cuando
se eliminan las filas correspondientes de la tabla primaria.
Si no se especifica la eliminación en cascada, el comportamiento
predeterminado del servidor de base de datos impide la
eliminación de datos en una tabla, si se referencia de otra tablas.
Si se especifica esta opción, más tarde, cuando se elimina una fila
en la tabla principal, el servidor de base de datos, también se
eliminan todas las filas asociadas a esa fila (claves foráneas) en una
tabla secundaria La principal ventaja de la función en cascada-
borra es que le permite reducir la cantidad de instrucciones SQL
necesarias para llevar a cabo acciones de eliminación.
Inserción de datos
insertar filas en la tabla dep

insert into dep values


(100,'Administracion','Barranquilla');
insert into dep values (200,'sistemas','Bogota');
insert into dep values (300,'Produccion','Medellin');
Inserción de datos
insertar filas en la tabla emp
insert into emp values
(101,'Cano','Presidente',null,'3-FEB-96',450000,null,100);
insert into emp values
(102,'Roncal','Director',101,'3-FEB-96',350000,null,100);
insert into emp values
(103,'Rueda','Secretario',102,'17-MAR-96',175000,null,100);
insert into emp values
(104,'Martin','Contable',102,'17-MAR-96',235000,null,100);
insert into emp values
(105,'Sanz','Comercial',101,'17-MAR-96',150000,10,100);
insert into emp values
(106,'Lopez','Comercial',101,'21-MAR-96',150000,15,100);
insert into emp values
Inserción de datos
(201,'Perez','Director',101,'4-JUN-96',350000,null,200);
insert into emp values
(202,'Sastre','Analista',201,'8-JUN-96',300000,null,200);
insert into emp values
(203,'Garcia','Programador',202,'8-JUN-96',225000,null,200);
insert into emp values
(204,'Mateo','Programador',202,'8-JUN-96',200000,null,200);
insert into emp values
(301,'Yuste','Director',101,'3-OCT-96',350000,null,300);
insert into emp values
(302,'Recio','Analista',301,'4-FEB-97',300000,null,300);
insert into emp values
(303,'Garcia','Programador',302,'4-FEB-97',210000,null,300);
insert into emp values
(304,'Santana','Programador',302,'4-FEB-97',200000,null,300);
Selección
La recuperación de los datos en el lenguaje SQL se realiza mediante
la sentencia SELECT, seleccionar. Esta sentencia permite indicar al
SGBD la información que se quiere recuperar. Esta es la sentencia
SQL, con diferencia, más habitual. La sentencia SELECT consta de
cuatro partes básicas:
 La cláusula SELECT seguida de la descripción de lo que se desea
ver, los nombres de las columnas a seleccionar. Esta parte es
obligatoria.
 La cláusula FROM seguida de la especificación de las tablas de las
que se han de obtener los datos. Esta parte es obligatoria.
 La cláusula WHERE seguida por un criterio de selección, una
condición. Esta parte es opcional.
 La cláusula ORDER BY seguida por el criterio de ordenación. Esta
parte es opcional.
Selección
la sintaxis de la sentencia SELECT puede mostrarnos la
siguiente expresión:
SELECT {* | {columna,}+}
FROM {tabla,}+
[WHERE condición]
[ORDER BY {expresiónColumna [ASC | DESC],}+];
Selección de Columnas
Las columnas a seleccionar se enumeran sin más en la
cláusula SELECT. Si se desea seleccionar todas las
columnas de una tabla se puede hacer enumerando a
todas las columnas o colocando un asterisco, *, en su
lugar.
SQL> select * from dep;
COD_DEP NOMBRE LOC
--------------- ---------- ------------
100 Administracion Barranquilla
200 Sistemas Bogota
300 Produccion Medellin
Selección de Columnas
Cuando se consulta una base de datos, los nombres de las
columnas se usan como cabeceras de presentación. Si éste
resulta demasiado largo, corto o críptico, puede cambiarse
con la misma sentencia SQL de consulta, creando un alias de
columna.
SQL> select nombre "Departamento", loc "Está en" from dep;

Departamento Esta en
--------------- ----------
Administracion Barranquilla
Sistemas Bogota
Produccion Medellin
Selección de Columnas
Seleccionamos el codigo del departamento y el nombre
del departamento
SQL>select cod_dep, nombre from dep
COD_DEP NOMBRE
--------------- ----------
100 Administracion
200 Sistemas
300 Produccion
Cláusula FROM
La cláusula FROM define las tablas de las que se van a
seleccionar las columnas.
También se puede asociar un alias a las tablas para abreviar
los nombres de las tablas. Un ejemplo se puede ver en la
sentencia SQL siguiente:
SQL>select d.nombre from dep d;
NOMBRE
------------------------
Administracion
Sistemas
Produccion
Cláusula WHERE

Hasta ahora hemos visto como puede utilizarse la


sentencia SELECT para recuperar todas las columnas o
un subconjunto de ellas de una tabla. Pero este efecto
afecta a todas las filas de la tabla, a menos que
especifiquemos algo más en la cláusula WHERE. Es aquí
donde debemos proponer la condición que han de
cumplir todas las filas para salir en el resultado de la
consulta. La complejidad del criterio de búsqueda es
prácticamente ilimitada, y en él se pueden conjugar
operadores de diversos tipos con funciones de columnas,
componiendo expresiones más o menos complejas.
Operadores de Comparación
Igualdad
Operador Operación Ejemplo
= Igualdad select * from emp where cod_dep = 100;

Selecciona todos los empleados cuyo código de departamento sea = 100


Operadores de Comparación
Igualdad
Selecciona todos los empleados de oficio Comercial

Select * from emp where oficio ='Comercial‘;


Operadores de Comparación
Desigualdad
Operador Operación Ejemplo
!=, <>, ^= Desigualdad select * from emp where cod_dep != 100;

Selecciona todos los empleados cuyo código de departamento es diferente de 100


Operadores de Comparación
Desigualdad
Selecciona todos los empleados donde oficio es
diferente de programador
select * from emp where oficio <>'Programador‘;
Operadores de Comparación
Menor que
Operador Operación Ejemplo
< Menor que select * from emp where cod_dep <
200;
Operadores de Comparación
Menor que
Selecciona todos los empleados que tienen un salario
menor de 350000
select * from emp where salario < 350000;
Operadores de Comparación
Menor o igual que
Operador Operación Ejemplo
select * from emp
<= Menor o igual que
where cod_dep <= 200;
Selecciona todos los empleados cuyo código de departamento
es menor o igual a 200
Operadores de Comparación
Menor o igual que
Selecciona todos los empleados que tienen un salario
menor o igual a 350000
select * from emp where salario <= 350000;
Operadores de Comparación
mayor que
Operador Operación Ejemplo
select * from emp where
> Mayor que
cod_dep > 200;
Selecciona todos los empleados cuyo código de departamento sea mayor de 200
Operadores de Comparación
mayor que
Selecciona todos los empleados cuyo código sea mayor a
200
;
Operadores de Comparación
Mayor o igual que
Operador Operación Ejemplo
select * from emp where
>= Mayor o igual que
cod_dep >= 200;

Selecciona todos los empleados donde el código de departamento es mayor o igual a 200
Operadores de Comparación
Mayor o igual que
Selecciona todos los empleados cuyo codigo es mayor o
igual a 300
select * from emp where cod_emp >= 300
Operadores de Comparación Igual
a cualquiera de los miembros
entre paréntesis in
Operador Operación Ejemplo
select * from emp
Igual a cualquiera de los
in where cod_dep in (100,
miembros entre paréntesis
300);
Selecciona los empleados cuyo código de departamento sea Igual a cualquiera de los
miembros entre paréntesis (100 y 300)
Operadores de Comparación Igual
a cualquiera de los miembros
entre paréntesis in
Selecciona los empleados cuyo codigos sean Iguales a
cualquiera de los miembros entre paréntesis (105 y 304)
select * from emp where cod_emp in (105, 304)
Operadores de Comparación
distinto a cualquiera de los
miembros entre paréntesis not in
Operador Operación Ejemplo
select * from emp
Distinto a cualquiera de los
not in where cod_dep not in
miembros entre paréntesis
(200);

Selecciona todos los empleados cuyo código de departamento sea distinto de 200
Operadores de Comparación
distinto a cualquiera de los
miembros entre paréntesis not in
Selecciona todos los empleados cuyo codigo sea distinto
de 105 y 304
select * from emp where cod_emp not in (105, 304);
Operadores de Comparación
Contenido en el rango between
Operador Operación Ejemplo
select * from emp
between Contenido en el rango where cod_emp between
100 and 199;
Selecciona todos los empleados que tienen el codigo de empleado en el rango de 100 a 199
Operadores de Comparación
Contenido en el rango between
Selecciona a todos los empleados que tienen un salario
entre 150000 y 235000
select * from emp where salario between 150000 and
235000
Operadores de Comparación Fuera
del rango not between
Operador Operación Ejemplo
select * from emp
not between Fuera del rango where cod_emp not
between 100 and 199;
Selecciona todos los empleados que el codigo de empleado no este
en el rango de 100 a 199
Operadores de Comparación
Fuera del rango not between
Selecciona todos los empleados que tengan un salario
que no este en el rango de 100000 a 150000
select * from emp where salario not between 100000 and
250000
Operadores de Comparación
Contiene la cadena 'abc'
Operador Operación Ejemplo
Contiene la cadena 'abc' a partir select * from emp
like '_abc%' del segundo carácter y luego where nombre like
cualquier cadena de caracteres 'Ma%';

Selecciona todos los empleados cuyo nombre comience en Ma


Operadores de Comparación
Contiene la cadena 'abc'
Selecciona todos los empleados cuyo oficio comience en
Pr
Select * from emp where Oficio like ‘Pr%’;
Operadores de Aritméticos
Suma
Operador Operación Ejemplo
select nombre,
salario+comision from
+ Suma
emp where
oficio='Comercial'

Seleccionar el salario + la comisión de los empleados del área Comercial


Operadores Aritméticos Resta
Operador Operación Ejemplo
select nombre, salario-comision-
1000 from emp where
- Resta
oficio='Comercial'

Selecciona los nombres de los empleados con el salario menos la comisión menos 1000
Operadores aritméticos Producto
Operador Operación Ejemplo

select nombre,
* Producto
salario*12 from emp;

Selecciona el salario anual de los empleados


Operadores Aritméticos División
Operador Operación ejemplo
select nombre,
/ División
salario/31 from emp;

Selecciona el salario diario de un empleado


Operadores de Cadenas de
Caracteres Concatenación
Operador Operación Ejemplo
select nombre||oficio
|| Concatenación
from emp;

Concatena los campos nombre y oficio


Operadores de Cadenas de
Caracteres Concatenación
Para colocarle espacios
select nombre||' '||oficio from emp

También podría gustarte