Sei sulla pagina 1di 6

MEDIA TÉCNICA DESARROLLO DE SOFTWARE

GUIA DE APRENDIZAJE # 2

TEMA: Sentencias básicas de sql en MySQL


Docente: Juan Carlos Pérez
Alumno: __________________________________________Grado____ Nota____
Fecha:__/___/____ Duración: 6 Horas
Justificación: Se pretende con esta contribuir a que el alumno
Sea competente para el manejo de bases de datos,
recuperación de información, creación y modificación de
bases de datos a través del sistema gestor de bd de Mysql
como fundamental para el desarrollo de sistemas de
información en el acceso y modificación de información

Objetivos: Conocer las sentencias básica de MySQL para la selección de


Datos.
Crear estructuras de MySql para la modificación de tablas.
Crear consultas que permitan eliminar y anexar datos.
CONTENIDO
Si desea trabajar con una base de datos , deberá aprender a hablar en su lenguaje.
Las bases de datos hablan un lenguaje estructurado mas conocido como SQL.
En lugar de trabajar con un registro a la vez, SQL gestiona grupos de registros como si se
tratara de una entidad individual, lo que lo hace un lenguaje estándar en la mayoría de los
servidores de bases de datos. Todo parte desde un buen diseño de la base de datos
Vea el siguiente Modelo Entidad Relación el cual nos permite ver cómo están relacionados
los datos que contenidos en cada tabla
figura 1.

Estructura de las tablas figura 2

Preparado por : Juan Carlos Pérez P. Versión 1.1 1


www.esnips.com/web/desarrollo
CREATE TABLE: Crea una tabla

CREATE TABLE mascotas ( id int(3) NOT NULL PRIMARY KEY,


nombre varchar(20) ,
propietario varchar(20),
especie varchar(20) ,
sexo char(1), nacimiento date,
fallecimiento date);

1. Cree las tablas propuestas en la figura 2

Insert: Permite insertar en una relación una fila mediante la especificación de los valores de
cada una de las columnas de la fila, o insertar un grupo de filas especificando una consulta que
nos daría el grupo de filas a insertar. Ejemplo

inserT into mascotas (id,nombre, propietario, especie,sexo, nacimiento,fallecimiento)


values(111,'Fluffy','Arnoldo','Gato','f','1999-02-04',''),
(222,'Mau','Juan','Gato','m','1998-03-17',''),
(333,'Buffy','Arnoldo', 'Perro','f','1999-05-13',''),
(444,'FanFan','Benito','Perro','m','2000-08-27',''),
(555,'Kaiser','Diana','Perro','m','1998-08-31','1997-07-29'),
(666,'Chispa','Omar','Ave','f','1998-09-11',''),
(777,'Bicho','Tomás','Ave','','2000-02-09',''),
(888,'Skim','Benito','Serpiente','m','2001-04-29','');

insert into servicios_mascotas (id_mascota,id_servicio,cantidad,valor_unitario,id_propietario)


values(111,1,2,25600,1),
(111,1,2,0,1),
(222,1,2,0,2),
(333,2,2,0,1),
(444,1,2,0,3),
(555,1,2,0,4),
(666,1,2,0,5),
(777,1,2,0,6),
(888,1,2,0,3);

INSERT INTO propietarios (id_propietario,nombre, telefono)


values('1','ARNOLDO MARTINEZ','2789456000'),
('2','JUAN PEREZ','299803122'),
('3','BENITO SUAREZ','22713411'),
('4','DIANA MARTINEZ','5848974'),
('5','OMAR ARANGO','2789654'),
('6','TOMAS CIPRIANO','2945656');

INSERT INTO SERVICIOS (ID,NOMBRE, VALOR)


values('1','INYECTOLOGIA','15000'),
('2','VACUNACION','20000'),
('3','CIRUGIA EXTREMIDAD','1500000'),
('4','CITA','5000'),
('5','CASTRACION','120000'),
('6','PURGAR PARASITOS','25000'),
('7','PUNTO DE SUTURA','10000'),
('8','MATERNIDAD','500000'),
('9','GUARDERIA','30000');

Consultas Simples: consultas que afectan a una sola tabla de la base de datos.

Preparado por : Juan Carlos Pérez P. Versión 1.1 2


www.esnips.com/web/desarrollo
SELECT nombre , propietario FROM mascotas;
SELECT: Lista las columnas que se desean en el resultado de la consulta.
FROM: Lista una o más tablas que van a ser referidas en la consulta.
WHERE: Contiene una condición para seleccionar las filas de las tablas que se dan en la
cláusula FROM.

SELECT * FROM mascotas WHERE id =111; cuando el campo id está definido como
entero(integer), de lo contrario seria sin las comillas dobles y para los datos de tipo fecha se
haría lo siguiente Campofecha = '1998-03-17' de acuerdo a la configuración de las tablasque
hemos creado

La consulta SQL anterior se procesa por el sistema en el orden FROM, WHERE, SELECT.
Si no se seleccionan los campos a mostrar , MySql muestran todos los campos
“la fila completa”.
En la cláusula SELECT se pueden definir cálculos que involucran columnas numéricas y
literales numéricos combinados con las operaciones aritméticas estándar agrupadas con
paréntesis cuando sea necesario.
ORDER BY: Se usa para ordenar el resultado de la consulta en orden alfanumérico
ascendente por la columna que se especifique. En orden descendente entonces esto debe
especificarse añadiendo a la orden “DESC”.

SELECT nombre, propietario, FROM mascotas


ORDER BY mascotas.id DESC;

BETWEEN: Puede usarse en la comparación de algún valor con otros dos valores. Para saber
si el valor a comparar está entre estos dos valores.

SELECT id, nombre


FROM mascotas WHERE mascotas.id BETWEEN 111 AND 444 ;

Operador de comparación IN: La cláusula WHERE ha evaluado “true” si el tipo del oficio de la
fila se encuentra en el conjunto indicado entre paréntesis

El operador LIKE

Puede usar el operador Como (Like) para especificar criterios inexactos en la cuadrícula de
diseño de consultas. Por ejemplo, si escribe Como (Like) "C*" la consulta devuelve todos los
valores de campos que comiencen por la letra C.
En una consulta de parámetros, puede usar el operador Como (Like) para pedir al usuario un
modelo que buscar. Por ejemplo, suponga que tiene una tabla tblPeliculas que incluye un
campo Nombre. En la ventana Consulta, cree una nueva consulta Escriba la siguiente

SELECT id, nombre


FROM mascotas
WHERE nombre LIKE [Escriba las primeras letras del nombre ] & "*";

Cuando se ejecuta la consulta, un cuadro de diálogo pide al usuario "Escriba las primeras letras
de la mascotas :". Si el usuario escribe Pe en el cuadro de diálogo, la consulta busca el modelo
Pe* o sea, todos las mascotas que comiencen por las letras Pe.

Like "P[A-F]###"

Ahora, los datos escritos en este cuadro de texto deben comenzar por la letra P, seguida por
cualquier letra entre A y F y por tres dígitos.
se usa para comparar variables de caracteres con literales cuando se utilizan comodines.

Consultas Multitablas:

SQL conecta los datos entre las tablas de la misma manera que la reunión(join) del

Preparado por : Juan Carlos Pérez P. Versión 1.1 3


www.esnips.com/web/desarrollo
álgebra relacional.
Como es usual , la cláusula FROM se procesa primero. En este caso, sin embargo, puesto que
hay dos tablas en la cláusula. El sistema crea el producto cartesiano de las filas en estas
tablas. Esto significa que se crea(lógicamente) una tabla enorme que consiste de todas las
columnas de ambas tablas, emparejando cada fila de una tabla con cada fila en la otra tabla.
Después de crear esta relación gigante se aplica la cláusula WHERE, como antes.
Se examina cada fila de la relación creada por la cláusula FROM conforme a la cláusula
WHERE. No se consideran aquellas que no la satisfacen. SELECT se aplica a las filas
restantes. Ejemplo

Alias: Nombre alternativo que se le da a una tabla, como se ve en el siguiente ejemplo de


consultas multitablas

SELECT m.nombre FROM servicios_mascotas sm, servicios s ,mascotas m


WHERE sm.id_servicio =s.id
AND sm.ID_MASCOTA = m.id;

GROUP BY: Indica cuáles filas deben agruparse sobre un valor común de las columnas
especificadas.
SELECT m.nombre,sm.cantidad*sm.valor_unitario AS total FROM servicios_mascotas sm,
servicios s ,mascotas m WHERE sm.id_servicio =s.id
AND sm.ID_MASCOTA = m.id
GROUP BY m.nombre

HAVING: Una cláusula que impone condiciones a los grupos.


La diferencia entre Having y Where es que se aplica a las filas, mientras que la cláusula Having
se aplica a los grupos.

SELECT id,nombre , Avg(valor) AS valorpromedio


FROM servicios GROUP BY id,nombre
HAVING Avg(valor)>2000;

Update: Operación que cambia los valores de las columnas en las filas.
UPDATE mascotas
SET fallecimiento =’2005-01-01’
WHERE id =555

UPDATE servicios_mascotas SET VALOR_UNITARIO =500000


WHERE ID_SERVICIO ='8'

Borrar una Tabla : Permite borrar toda la tabla

DROP TABLE NOMBRETABLA;

Delete: Operación que quita filas de una relación. Las operaciones de DELETE se aplican
también a todas las filas que satisfacen la cláusula WHERE en la instrucción DELETE.
DELETE FROM servicios_mascotas WHERE id_mascota = 111 AND
ID_SERVICIO=1 AND ID_CLIENTE =1;

ACTIVIDADES :
Realice las siguientes ejercicios con sentencias sql que permita:
2. Listar todas las mascotas
3. Listar todos los propietarios

Preparado por : Juan Carlos Pérez P. Versión 1.1 4


www.esnips.com/web/desarrollo
4. Listar la identificación y el nombre de los propietarios
5. Listar el id y el nombre de los servicios
6. Hallar el nombre y el valor total de todos los servicios utilizados por las mascotas
7. Listar el nombre y le valor total para cada servicio realizado
8. Mostrar el nombre del propietario y el valor total en servicios para la mascota 333
9. Hallar el nombre del servicio, propietario, mascotas para todos los servicios de mascotas
10. Hallar el nombre del servicio, propietario, mascotas para todos los servicios
para la mascota 222
11. Crear una consulta que permita modificar el sexo de la mascota Wicho por ‘m’
12. Crear una consulta que permita modificar todos los valores de los servicios,
debido a que se decidió rebajar todos lo servicios en un 20%
13. Modificar el teléfono ’ 2945656’ del propietario con el id 6 por el nuevo teléfono
’2569800’
14. Modificar el nombre del servicio ‘PURGAR PARASITOS’ con ID 6 por el nombre
‘Desparasitación’

15. Hallar el nombre del propietario con id = 333, el servicio= 2, nombre de la mascota
con id = 333.
16.Cree sentencias sql que permita actualizar cada uno de los registros en el campo
valor_unitario en la tabla Servicios_mascotas de acuerdo a la tabla de servicios
de acuerdo a la hoja de anexos

17 Seleccione el nombre y valor total pagado por cada mascota

18 Seleccione el nombre y valor total pagado por la mascota con código =111

19 Seleccione el nombre del servicio y valor total pagado para el id del servicio =1

20 Seleccione el nombre del propietario y valor total pagado por el servicio de a su mascota

RECURSOS: Guía de aprendizaje # 1, 2


Ver tablas al final
EVALUACIÓN: Revisar y evaluar las consultas propuestas
calificar a cada estudiante la creación y ejecución consultas, sustentando
individualmente

BIBLIOGRAFÍA: www.lawebdelprogramador.com
www.webestilo.com/mysql/ejecutar-consultas.phtml
JHON L. VIESCAS, Running Microsoft Access 97 McGraw Hill
Ayudas Microsoft Access 97

Preparado por : Juan Carlos Pérez P. Versión 1.1 5


www.esnips.com/web/desarrollo
MASCOTAS

id nombre propietario especie sexo nacimiento fallecimiento


111 Fluffy Arnoldo Gato f 1999-02-04
222 Mau Juan Gato m 1998-03-17
333 Buffy Arnoldo Perro f 1999-05-13
444 FanFan Benito Perro m 2000-08-27
555 Kaiser Diana Perro m 1998-08-31 2005-01-01
666 Chispa Omar Ave f 1998-09-11
777 Bicho Tomás Ave 2000-02-09
888 Skim Benito Serpiente m 2001-04-29

SERVICIOS_MASCOTAS

ID_MASCOTA ID_SERVICIO CANTIDAD VALOR_UNITARIO ID_PROPIETARIO


111 8 2 500.000 1
111 1 2 0 1
222 1 2 0 2
333 2 2 0 1
444 5 2 0 3
555 2 2 0 4
666 1 2 0 5
777 1 2 0 6
888 4 2 0 3

SERVICIOS PROPIETARIOS

ID NOMBRE VALOR ID_PROPIETARIO NOMBRE TELEFONO


1 INYECTOLOGIA 15.000 ARNOLDO
2 VACUNACION 20.000 1 MARTINEZ 2789456000
CIRUGIA 2 JUAN PEREZ 299803122
3 EXTREMIDAD 1.500.000 3 BENITO SUAREZ 22713411
4 CITA 5.000 4 DIANA MARTINEZ 5848974
5 CASTRACION 120.000 5 OMAR ARANGO 2789654
6 PURGAR PARASITOS 25.000 6 TOMAS CIPRIANO 2945656
7 PUNTO DE SUTURA 10.000
8 MATERNIDAD 500.000
9 GUARDERIA 30.000

Preparado por : Juan Carlos Pérez P. Versión 1.1 6


www.esnips.com/web/desarrollo

Potrebbero piacerti anche