Documentos de Académico
Documentos de Profesional
Documentos de Cultura
GUIA DE APRENDIZAJE # 2.
TEMA: SQL
Objetivos:
Conocer las sentencias básicas de MySQL para la selección de datos.
Crear estructuras de MySql para la modificación de tablas.
Definir y aplicar DDL y DML para la creación de una base de 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(por sus siglas
en inglés Structured Query Language; en español lenguaje de consulta estructurada).
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.
“Las sentencias SQL se dividen en dos categorías: lenguaje de definición de datos (DDL) y
lenguaje de manipulación de datos (DML). Las sentencias DDL se utilizan para describir una
base de datos, para definir su estructura, para crear sus objetos y para crear los subobjetos de
la tabla.
La lista siguiente ofrece ejemplos de estos tipos de sentencias DDL:
Creación de tablas (mandato CREATE).
Modificación de la estructura de una tabla (mandato ALTER) sin suprimirla y volver a crearla,
como añadir columnas, eliminar columnas o cambiar definiciones de columna (por ejemplo,
longitud o los valores predeterminados).
Las sentencias DML se utilizan para controlar la información contenida en la base de datos.
Las listas siguientes ofrecen ejemplos de estos tipos de sentencias DML:
Si bien todos los motores de réplica de réplica de CDC puede replicar cambios de DML, motor
de réplica de CDC para bases de datos Oracle y motor de réplica de CDC para DB2 para LUW
también incluyen soporte para replicar cambios de DDL, lo que permite una gestión de cambios
más sencilla y automatizada. Los cambios en los datos siguen replicándose, pero ya no es
necesario actualizar manualmente la información de suscripción cuando la estructura de una
tabla cambia si utiliza la característica de réplica de DDL. Por ejemplo, se añaden nuevas
tablas y columnas según la sentencia DDL.
Aunque existe una gran variedad de operaciones de DDL, réplica de CDC replica sólo las que
están relacionadas con tablas y características de tablas; no replica el contexto más amplio de
la base de datos. “
Nota: Mysql es un motor de bases de la empresa sunmicrosystems y fue adquirido por Oracle
al igual que java y oppenoffice.
____________________
Tomado de: https://www.ibm.com/docs/es/idr/11.3.3?topic=console-replicating-data-definition-language-ddl-changes
[24-04-2022:08:35]
Figura 1.
inserT into mascotas (id, nombre, propietario, especie, sexo, nacimiento, fallecimiento)
values(111,'Fluffy','Arnoldo','Gato','f','1999-02-04',NULL),
(222,'Mau','Juan','Gato','m','1998-03-17',NULL),
(333,'Buffy','Arnoldo', 'Perro','f','1999-05-13',NULL),
(444,'FanFan','Benito','Perro','m','2000-08-27',NULL),
(555,'Kaiser','Diana','Perro','m','1998-08-31','1997-07-29'),
(666,'Chispa','Omar','Ave','f','1998-09-11',NULL),
(777,'Bicho','Tomás','Ave','','2000-02-09',NULL),
(888,'Skim','Benito','Serpiente','m','2001-04-29',NULL);
Consultas Simples: consultas que afectan a una sola tabla de la base de datos.
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 Campo fecha = ‘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
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.
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:
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
á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
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
UPDATE: Operación que cambia los valores de las columnas en las filas.
UPDATE mascotas
SET fallecimiento =’2005-01-01’
WHERE id =555
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;
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
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.
SERVICIOS_MASCOTAS
SERVICIOS PROPIETARIOS