Está en la página 1de 18

MANIPULACION DE BASE DE DATOS


BASE DE DATOS

Docente: Ing. Carlos Alejandro Herr García

ESCUELA SUPERIOR TÉCNICA


MAYO 2020
MANIPULACION DE BASE DE DATOS

AGENDA

1. Inserción, actualización y borrado de registros en una tabla.


2. Consultas elementales sobre una tabla.
3. funciones SQL
4. Consultas sobre varias tablas: producto cruzado, concatenación
5. Indices: definición, creación y borrado
MANIPULACION DE BASE DE DATOS
1. Inserción, actualización y borrado de registros en una tabla.

1.1. Inserción

• Sintaxis de inserción General

insert into nombretabla values (‘valor1’, ’valor2’, …, ’valorn’);

Ejemplo:
insert into departamento values ('01','LIMA', 5.3);

• Sintaxis de inserción Personalizada

insert into nombretabla (campo1, campo2, …, campon) values (‘’valor1,’’valor2, …. ,’valorn’);

Ejemplo:
insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('ICA','02', 8.5);
MANIPULACION DE BASE DE DATOS
Ejemplo de inserción:

insert into departamento values ('01','LIMA', 5.3);


insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('ICA','02', 8.5);
insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('LORETO','06', 6.4);
insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('UCAYALI','03', 10.2);
insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('CUZCO','04', 4.2);
insert into departamento(nom_dpto, cod_dpto, per_dpto) values ('JUNIN','05', 5.2);
insert into provincia values ('0101','HUAURA',8.2,'01');
insert into provincia values ('0102','HUARAL',8.0,'01');
insert into provincia values ('0103','LIMA',7.2,'01');
insert into provincia values ('0104','CAÑETE',5.2,'01');
insert into provincia values ('0105','BARRANCA',4.2,'01');
insert into provincia values ('0201','CHINCHA',6.0,'02');
insert into provincia values ('0202','PISCO',4.2,'02');
insert into provincia values ('0203','ICA',3.2,'02');
insert into provincia values ('0204','NASCA',4.2,'02');
insert into provincia values ('0601','MAYNAS',6.0,'06');
insert into provincia values ('0602','PUTUMAYO',4.2,'06');
insert into provincia values ('0603','REQUENA',3.2,'06');
insert into provincia values ('0604','UCAYALI',4.2,'06');
MANIPULACION DE BASE DE DATOS
1.2. Actualización
Sintaxis:
update nombretabla
set campoaactualizar = ‘nuevovalor’
where condicion;

Ejemplo:
update departamento
set nom_dpto ='PIURA'
where cod_dpto = '05';

1.3. Borrado
Sintaxis:
delete nombretabla
where condicion;

Ejemplo:
delete from departamento
where cod_dpto = '05';
MANIPULACION DE BASE DE DATOS
2. Consultas elementales sobre una tabla.
• Lista todos los campos y registros de la tabla.
Sintaxis:
select * from nombretabla;

Ejemplos
select * from departamento;

• Lista los campos seleccionado s y todos los registros de la tabla.


Sintaxis:
select campo1, campo2, …., campo n from nombretabla;

Ejemplo:
select cod_dpto, nom_dpto from departamento;

• Lista todos los campos de la tabla, aplicando una condición


Sintaxis:
select * from nombretabla
where condicion;

Ejemplo:
select * from departamento
where nom_dpto = 'PIURA';
MANIPULACION DE BASE DE DATOS

• Lista todos los campos y los registros con la condición usando un signo de comparación
Sintaxis:
select * from nombretabla
where condicion;

Ejemplo:
select * from departamento
where cod_dpto >= '02';

• Lista todos los campos y los registros con la condición “in”


Sintaxis:
select * from nombretabla
where campo in ();

Ejemplo:
select * from departamento
where cod_dpto in ('01','05');
MANIPULACION DE BASE DE DATOS

• Lista todos los campos y registros utilizando la condicional between (entre dos intervalos)
select * from nombretabla
where campo between valor1 and valor2;

select * from nombretabla


where campo >= valor1 and campo<= valor2;

Ejemplo:
select * from departamento
where cod_dpto between '03' and '05';

select * from departamento


where cod_dpto >='03' and cod_dpto <= '05';

• Lista todos los campos y registros utilizando la condicional like y los comodines ( _ : un carácter, %: todos lo
caracteres)
select * from nombretabla
where campo like ‘comodin’;

Ejemplo
select * from departamento
where nom_dpto like '_U%';
MANIPULACION DE BASE DE DATOS
3. funciones SQL

La forma más fácil de implementar funciones es utilizar el lenguaje SQL. Una función SQL nos permite dar un nombre a uno o varios comandos sql.

Luego la sintaxis para implementar una función SQL:

create or replace function [nombre de la función]([parámetros]) returns [tipo de dato que retorna]
as
[comandos sql]
language sql;
MANIPULACION DE BASE DE DATOS

Ejemplo 1 de Funciones: Implementaremos una función que reciba dos enteros y retorne la suma de los mismos:

create or replace function sumar(integer,integer) returns integer


AS
'select $1+$2;'
language sql;

Cada parámetro se lo accede luego mediante la posición que ocupa y se le antecede el caracter $. El o los comandos SQL deben ir entre simples comillas (si
tenemos que utilizar las simples comillas en el comando SQL debemos disponer dos simples comillas seguidas) y separados por punto y coma.

Para llamar luego a esta función lo hacemos por ejemplo en un select:

select sumar(3,4);
MANIPULACION DE BASE DE DATOS

Ejemplo 2 de Funciones: Confeccionaremos una función que acceda a la tabla usuarios:

-- 1. Borramos la tabla usuario, para asegurar que no exista --5. Creamos una función que reciba una cadena con el nombre de usuario
-- y retorne la clave de dicho usuario:
drop table usuarios;
create or replace function retornarclave(varchar) returns varchar
-- 2. Creamos la tabla usuarios: as
create table usuarios ( 'select clave from usuarios where nombre=$1;'
nombre varchar(30), language sql;
clave varchar(10)
); -- 6. Llamamos la función recuperando la clave del usuario llamada 'Susana':

--3. Insertamos 4 registros en la tabla usuarios select retornarclave('Susana');

insert into usuarios (nombre, clave) values ('Marcelo','Boca');


insert into usuarios (nombre, clave) values ('JuanPerez','Juancito');
insert into usuarios (nombre, clave) values ('Susana','River');
insert into usuarios (nombre, clave) values ('Luis','River');

--4. Consultamos a la tabla usuarios.

Select * from usuarios;


MANIPULACION DE BASE DE DATOS
4. Consultas sobre varias tablas: producto cruzado, concatenación

a. Consultas sobre varias tablas


Sintaxis:

select tabla1.column1, tabla1.column2, tabla2.columna1, tabla2.column2, ….., tablan.column1, tablan.column2


from tabla1, tabla2…..tablan
where
<join> and
<condicion>;

Ejemplo1: .Consultas sobre varias tablas Ejemplo2: .Consultas sobre varias tablas

select departamento.nom_dpto, provincia.nom_prov select o.nom_dpto, v.nom_prov


from departamento, provincia from departamento o, provincia v
where where
departamento.cod_dpto=provincia.cod_dpto; o.cod_dpto=v.cod_dpto;
MANIPULACION DE BASE DE DATOS

b. Concatenación. Para concatenar dos campos se utiliza || o concat.

Ejemplo: Concatenación utilizando || Ejemplo: Concatenación utilizando concat


select o.nom_dpto ||' - '|| v.nom_prov as "DEPARTAMENTO - PROVINCIA" select concat(concat(o.nom_dpto, ' - '), v.nom_prov) as "DEPARTAMENTO - PROVINCIA"
from departamento o, provincia v from departamento o, provincia v
where where
o.cod_dpto=v.cod_dpto; o.cod_dpto=v.cod_dpto;
MANIPULACION DE BASE DE DATOS

5. Índices: definición, creación y borrado

Definición

Dijimos que hay 3 tipos de índices:

• El índice llamado primary se crea automáticamente cuando establecemos un campo como clave primaria.
• Los valores indexados deben ser únicos y además no pueden ser nulos. Una tabla solamente puede tener una clave primaria. Puede ser
multicolumna, es decir, pueden estar formados por más de un campo.
• Vamos a otro tipo de índice común. Un índice común se crea con "create index", los valores no necesariamente son únicos y aceptan
valores "null". Puede haber varios por tabla.
MANIPULACION DE BASE DE DATOS
Ejemplo : Creación de Indices

a. Para el ejemplo crearemos la tabla "libros". c. Veamos otro tipo de índice llamado "único". Un índice único se crea con
"create unique index", los valores deben ser únicos y diferentes, aparece un
create table libros( mensaje de error si intentamos agregar un registro con un valor ya existente.
codigo int not null, Permite valores nulos y pueden definirse varios por tabla.
titulo varchar(40),
autor varchar(30), Crearemos un índice único por los campos titulo y editorial:
editorial varchar(15),
precio decimal(6,2) create unique index I_libros_tituloeditorial on libros(titulo,editorial);
);
Un campo por el cual realizamos consultas frecuentemente es
"editorial", indexar la tabla por ese campo sería útil.
b. Creamos un índice:

create index I_libros_editorial on libros(editorial);

Debemos definir un nombre para el índice (en este caso utilizamos


como nomenclatura el carater I, luego el nombre de la tabla y
finalmente el o los nombres del campo por el cual creamos el índice.
Luego de la palabra clave on indicamos el nombre de la tabla y entre
paréntesis el nombre del campo o los campos por el cual se indexa.
MANIPULACION DE BASE DE DATOS

Borrado de Indice

Para eliminar un índice usamos "drop index". Ejemplo:

drop index I_libros_editorial;


drop index I_libros_tituloeditorial;

Se elimina un índice con "drop index" seguido de su nombre.

Podemos eliminar los índices creados, pero no el creado automáticamente con la clave primaria.

También podría gustarte