Bases de Datos Libro
Bases de Datos Libro
requerido para manipular estos datos era enorme. Pero la propia informática ha adaptado
sus herramientas para que los elementos que el usuario utiliza en cuanto a manejo de
datos se parezcan a los manuales. Por eso se sigue hablado de ficheros, formularios,
carpetas, directorios, etc. Muchas veces, para referirse a una base de datos, simplemente
se dice BD.
Cuando se crea una base de datos con Base, se genera un archivo con extensión: .odb
1
Administración de bases de datos con LibreOffice Base
Tabla
Objeto de almacenamiento perteneciente a una BD. Es una estructura organizada en filas y
columnas donde se almacenan registros o filas de datos. Cada tabla tiene un nombre único
en la BD.
Registro o fila
Cada una de las filas de una tabla, esta compuesto por campos o atributos.
Campo o columna
Es cada una de las casillas de un registro donde se guardan los datos. Cada campo tiene un
nombre único para la tabla de la cual forma parte, además es de un tipo (naturaleza)
determinado, por tanto no podemos guardar limones en el cajón de las naranjas, en
términos informáticos y a modo de ejemplo, no encontraremos un dato alfanumérico
(letras y números) en un campo diseñado para guardar datos numéricos. Se describirán
los tipos de datos más adelante.
CodigoEstudiante NombreEstudiante
10-2020 Marco del Cid
11-2020 Vilma Pérez
2
Administración de bases de datos con LibreOffice Base
Clave primaria
Llaves compuestas
Se le llama así, a una llave que está conformada por más de un campo. En el siguiente
ejemplo, un estudiante puede tener varias materias asignadas y, si llegara a reprobar la
materia, podrá volver a asignársela.
3
Administración de bases de datos con LibreOffice Base
Este alumno se ha asignado dos veces el mismo curso pero, en fechas distintas
Como puede notarse, el estudiante con código: 12-020 se asignó la materia con código: 10
en fecha: 12/1/2020. Al no haber alcanzado una nota satisfactoria, se ha tenido que volver
a asignar la materia en otra fecha, habiendo obtenido, esta vez, una nota aprobada. En
este caso los dos campos se repiten, por lo que ambos deben formar la clave principal
unido con la fecha de asignación de materia, para diferenciar cuando un estudiante se
vuelve a asignar una materia (en caso de haberla reprobado)
La base de datos servirá para llevar registros de los productos, proveedores y pedidos.
4
Administración de bases de datos con LibreOffice Base
Al proveedor con código 10 se le han comprado los productos con códigos 100 y 200 en
distintas fechas, lo que hace que la clave principal: CodigoProveedor + CodigoProducto +
Fecha sea única.
5
Administración de bases de datos con LibreOffice Base
Clave Foránea
Una clave foránea es una columna o grupo de columnas de una tabla que contiene valores
que coinciden con la clave primaria de otra tabla. Las claves foráneas se utilizan para unir
tablas.
Un campo que no esté definido como clave primaria, también, puede ser clave foránea,
como se muestra en el siguiente ejemplo:
Entidad débil
Entidad fuerte
6
Administración de bases de datos con LibreOffice Base
Actividad 1.1
En cada uno de los siguientes casos, identifique una clave principal que pueda identificar a
cada objeto.
1) Un automóvil
2) Un afiliado al IGSS
3) Los libros en una biblioteca
4) Los estudiantes en un colegio
5) Una cuenta bancaria
Actividad 1.2
Escriba los campos de cada tabla para que permitan llevar registro de lo solicitado. Incluya
la clave principal.
1) Medicamentos en un hospital
2) Empleados en una empresa
3) Vehículos en un parqueo
4) Pacientes en una veterinaria
5) Libros en una biblioteca
Fecha:
7
Administración de bases de datos con LibreOffice Base
Las relaciones son los vínculos que tiene una tabla con otras en una base de datos
relacional. La diferencia de las bases de datos relacionales con respecto a una base de
datos plana consiste en que los datos sólo se introducen una sola vez en una tabla, pero
gracias a las relaciones pueden aparecer en las tablas que se quiera.
Cualquier modificación sólo hay que efectuarla una sola vez y automáticamente se
realizará en todas las demás tablas. De este modo se ahorra mucho tiempo, espacio y
exactitud en los datos que siempre estarán actualizados independientemente de la tabla
en la que estemos.
Tipos de relaciones
Existen tres tipos de relaciones, que se explican a continuación. Más adelante se verá
cómo quedan guardadas relaciones de este tipo en Base.
Cada registro de la tabla A se relaciona sólo con un registro de una tabla B. En la práctica
se utilizan muy poco. En el siguiente diagrama relacional, se muestra el hecho de que en
un aula puede haber, solamente, un proyector. Las relaciones uno a uno se dan de clave
primaria a clave primaria.
8
Administración de bases de datos con LibreOffice Base
Cada registro de la tabla A está relacionado con varios registros de la tabla B y cada
registro de la tabla B está relacionado con un sólo un registro de la tabla A.
Una relación de este tipo se daría entre las tablas Estudiante y Pago, debido a que un
estudiante puede realizar varios pagos. El diagrama relacional, se muestra a continuación:
Cada registro de la tabla A puede estar relacionado con más de un registro de la tabla B y
cada registro de la tabla B puede estar relacionado con más de un registro de la tabla A.
En el ejemplo, la relación varios a varios existe entre las tablas Proveedor y Producto. Un
proveedor puede abastecer varios productos y un producto puede ser solicitado a varios
proveedores. Puede notarse que se trata de una relación uno a varios recíproca entre las
dos tablas. Sin embargo, para poder implementarla, se hace necesaria una tercer tabla
que una a las otras dos. Esta tabla se denomina: Tabla de Enlace. Se trata de una tabla
secundaria que une a dos tablas primarias. El nombre de esta tabla , se puede obtener de
la acción que se lleva a cabo entre las otras dos; en este caso: A un proveedor se le
pueden PEDIR varios productos . Como los nombre de las tablas no deben ser verbos, se
opta por su correspondiente sustantivo: Pedido.
9
Administración de bases de datos con LibreOffice Base
Tabla de enlace
Observación: Sin una tabla de enlace, no se puede realizar una relación varios a varios.
Integridad Referencial
En la relación que hemos definido en el apartado anterior, se impide que cualquier registro
relacionado sea modificado o eliminado. Esta propiedad es lo que se conoce como
integridad referencial. Por ejemplo, a un estudiante que no esté registrado no se le puede
registrar pago alguno. Primero ha de existir en la tabla Estudiante para que luego sea
posible almacenar los pagos que realice.
Cuando existe una relación entre 2 tablas, cualquier operación con los datos ha de
respetar la relación. En caso contrario, no se realizará.
Texto (fijo) [CHAR]: Texto hasta 255 caracteres, número de caracteres es fijo, es una buena
definición para campos como Nombre, apellidos, domicilio, etc.
10
Administración de bases de datos con LibreOffice Base
Big Integer [BIGINT]: Números enteros hasta 19 dígitos. Acepta valor automático.
Fecha [DATE]: Datos tipo fecha, formato adecuado para fecha de nacimiento, fechas de
alta.
Fecha/Hora [TIMESTAMP]: Datos fecha y hora, un buen formato para cuando tengamos
que tener un registro de entrada y salida, en el cual debe figurar tanto la fecha como la
hora.
11
Administración de bases de datos con LibreOffice Base
Actividad 1.3
Dibujar el modelo relacional de cada caso que se presenta. Todas las relaciones son uno a
varios. Identifique las tablas principales y secundarias. No olvide acompañar de una llave,
sus claves primarias. Identificar, también, las claves foráneas.
Actividad 1.4
Dibujar el modelo relacional de cada caso que se presenta. Todas las relaciones son varios
a varios. Identifique las tablas principales y secundarias. No olvide acompañar de una
llave, sus claves primarias y foráneas.
1) Un médico puede atender a varios pacientes y, un paciente puede ser atendido por
varios médicos.
2) Un estudiante puede prestar varios libros en la biblioteca y, un libro puede ser
prestado a varios alumnos.
3) Un cliente puede comprar varios productos y un producto puede ser vendido a
varios clientes.
4) En una empresa, un vehículo puede ser conducido por varios empleados y, un
empleado puede conducir varios vehículos.
5) En un curso pueden inscribirse varios estudiantes y , un estudiante puede
inscribirse en varios cursos.
Fecha:
12
Administración de bases de datos con LibreOffice Base
13
Administración de bases de datos con LibreOffice Base
4) Clic en Finalizar
14
Administración de bases de datos con LibreOffice Base
15
Administración de bases de datos con LibreOffice Base
Siguiendo con el ejemplo anterior, estableceremos el campo Codigo como clave principal.
Para ello, hacer lo siguiente:
16
Administración de bases de datos con LibreOffice Base
Una vez que se ha creado la estructura de una tabla, se debe guardar para que los
cambios realizados sean permanentes. Esto se lleva a cabo de la siguiente manera:
Editar tablas
17
Administración de bases de datos con LibreOffice Base
18
Administración de bases de datos con LibreOffice Base
19
Administración de bases de datos con LibreOffice Base
Forma 1:
1) Clic en Archivo
2) Clic en Guardar
Forma 2:
• Clic en el icono de Guardar
20
Administración de bases de datos con LibreOffice Base
2
3
21
Administración de bases de datos con LibreOffice Base
Clave foránea
22
Administración de bases de datos con LibreOffice Base
23
Administración de bases de datos con LibreOffice Base
6
5
Tabla secundaria
7
24
Administración de bases de datos con LibreOffice Base
9) Clic en Aceptar
25
Administración de bases de datos con LibreOffice Base
10) En la ventana de diseño de relaciones, se mostrarán las tablas con una relación
uno a varios.
Línea de relación
12) A continuación se ingresan los registros, comenzando con la entidad fuerte o tabla
principal. Para este caso, la tabla: Departamento.
26
Administración de bases de datos con LibreOffice Base
27
Administración de bases de datos con LibreOffice Base
Para tal propósito, hacer clic derecho sobre la línea de relación a cambiar y seleccionar la
acción requerida (Eliminar o editar) .
Cuando se crean las estructuras de las tablas, debe tomarse en cuenta que las claves
principales y las correspondientes claves foráneas, deben ser del mismo tipo de datos. Por
ejemplo: Si la clave principal CodigoProducto es de tipo Entero y la clave foránea
CodigoProducto (en la otra tabla) es de tipo Texto, se generará el siguiente error.
28
Administración de bases de datos con LibreOffice Base
Actividad 1.5
Desarrollar las bases de datos que se piden a continuación. Implementar las soluciones en
Base, estableciendo las relaciones que corresponden.
1) Una base de datos para una pequeña empresa debe contener información acerca
de clientes, artículos y pedidos. Hasta el momento se registran los siguientes datos
en documentos varios:
• Para cada cliente: Número de cliente (único), Direcciones de envío (varias por
cliente), Saldo, Límite de crédito (depende del cliente, pero en ningún caso debe
superar los Q10,000.00 , Descuento.
Para cada pedido: Cada pedido tiene una cabecera y el cuerpo del pedido. La
cabecera está formada por el número de cliente, dirección de envío y fecha del
pedido. El cuerpo del pedido son varias líneas, en cada línea se especifican el
29
Administración de bases de datos con LibreOffice Base
3) Crear una base de datos para un sistema de control de vuelos adaptado a las
siguientes reglas de gestión (indicar las entidades, interrelaciones, etc., que se
deducen de cada una de las reglas):
30
Administración de bases de datos con LibreOffice Base
Formularios
Los formularios son muy útiles a la hora de introducir datos, ya que aparte de la
comodidad que ofrecen, con su uso se pueden evitar también los posibles errores que
podrían ocurrir usando la vista Hoja de Datos.
31
Administración de bases de datos con LibreOffice Base
32
Administración de bases de datos con LibreOffice Base
5) En caso de que se desee agregar una tabla secundaria puede hacerse en esta
ventana. De lo contrario clic en Siguiente>
33
Administración de bases de datos con LibreOffice Base
34
Administración de bases de datos con LibreOffice Base
10) Ingresar el nombre para el formulario. Puede dejarse el nombre asignado por
defecto.
11) Clic en Finalizar
10
11
35
Administración de bases de datos con LibreOffice Base
Al trabajar con datos relacionales (datos relacionados que están almacenados en tablas
independientes), a menudo necesita ver los datos de varias tablas o consultas en el mismo
formulario. Por ejemplo, puede que quiera ver al mismo tiempo datos de los
departamentos de una tabla e información sobre los empleados desde otra tabla. Los
subformularios son una herramienta útil para hacerlo. Con este tipo de formularios, hay
una sección de encabezado (entidad fuerte) y una de detalle (entidad débil)
36
Administración de bases de datos con LibreOffice Base
3
4
37
Administración de bases de datos con LibreOffice Base
9) Seleccione cada campo de la tabla secundaria, haciendo doble clic. No elija la clave
foránea (para este caso, el campo CodigoDepartamento no seleccionarlo)
10) Los campos pasaran al cuadro de la derecha. Clic en: Siguiente>
9
10
38
Administración de bases de datos con LibreOffice Base
11) Esta ventana permite organizar los controles en los formularios. Para la tabla
principal (detalle), seleccione: En columnas. Para la tabla secundaria, elija: Como
hoja de datos. Clic en Siguiente>
11
12
39
Administración de bases de datos con LibreOffice Base
13
14
40
Administración de bases de datos con LibreOffice Base
Los formularios pueden ser generados sin necesidad de asistentes. Esto es útil
cuando se desea personalizar, lo más posible, el aspecto de un formulario.
Seguir los siguientes pasos:
41
Administración de bases de datos con LibreOffice Base
42
Administración de bases de datos con LibreOffice Base
43
Administración de bases de datos con LibreOffice Base
9
7
10
44
Administración de bases de datos con LibreOffice Base
11
13
45
Administración de bases de datos con LibreOffice Base
Incorporar etiquetas
46
Administración de bases de datos con LibreOffice Base
Cuadro combinado
Este tipo de control permite seleccionar una entre varias opciones. Es muy útil para validar
o restringir el ingreso de datos en un campo. Los cuadros combinados pueden hacer
referencia a datos almacenados en tablas.
Cualquier control que represente a un campo de una tabla, está compuesto por dos
controles: Una etiqueta y un cuadro de texto.
47
Administración de bases de datos con LibreOffice Base
48
Administración de bases de datos con LibreOffice Base
7) Con un clic, elegir el campo que se visualizará en el cuadro combinado. Debe ser la
clave foránea. Para este ejemplo: CodigoDepartamento.
8) Clic en Siguiente>
10
49
Administración de bases de datos con LibreOffice Base
Concatenación de campos
1
2
50
Administración de bases de datos con LibreOffice Base
51
Administración de bases de datos con LibreOffice Base
Consultas
Las bases de datos tienen información almacenada para diversos fines, entre ellos el de
poder consultar los datos que queramos en un determinado momento. Por ello uno de los
elementos que más se suele utilizar son las consultas, ya que éstas nos van a permitir
extraer la información para, posteriormente, poder tratarla.
El resultado de una consulta se denomina: Hoja de Datos y presenta aspecto de tabla; sin
embargo, las consultas no crean nuevas tablas, sino que muestran parte de la tabla o las
tablas sobre las que se realiza la consulta.
El Asistente para consultas sencillas crea consultas que recuperan datos de los campos
especificados en una o más tablas o consultas, aunque hemos de recordar que éstas no
podrán tener un grado de complejidad grande, ya que para este tipo de consultas
debemos implementarlas en vista Diseño.
El asistente contiene una serie de pasos en los que iremos configurando la consulta y que
nos mostrarán, al terminarlos, el resultado obtenido.
Para crear una consulta con el asistente, seguir los siguientes pasos:
1) Seleccionar la opción : Consultas
2) Clic en: Usar el asistente para crear una consulta…
52
Administración de bases de datos con LibreOffice Base
4) Se mostrarán los campos de la tabla seleccionada. Con doble clic, sobre el nombre
de cada campo, puede seleccionarlos para que se muestren en la consulta. Si se
necesitan todos los campos de la tabla, pueden seleccionarse haciendo clic en el
botón >>
5) Clic en Siguiente
4
Los campos
pasarán hacia el
cuadro derecho
5
53
Administración de bases de datos con LibreOffice Base
6) Si se quiere una consulta que muestre los campos en algún orden, puede
establecerse en esta ventana. Clic en Siguiente>
54
Administración de bases de datos con LibreOffice Base
8) Clic en Siguiente>
55
Administración de bases de datos con LibreOffice Base
56
Administración de bases de datos con LibreOffice Base
Se pueden crear consultas sin recurrir al asistente y con ello poder personalizarla. Seguir
los siguientes pasos:
57
Administración de bases de datos con LibreOffice Base
5) Con clic sostenido, arrastrar y soltar hacia la fila Campo, los campos que desean
visualizarse en la consulta.
58
Administración de bases de datos con LibreOffice Base
59
Administración de bases de datos con LibreOffice Base
10) Se mostrarán los registros con los campos que fueron seleccionados para la
consulta
60
Administración de bases de datos con LibreOffice Base
Estos operadores son necesarios para construir condiciones (criterios) que deberán
cumplir los registros que deseamos consultar. Dichos operadores se listan a continuación:
61
Administración de bases de datos con LibreOffice Base
Al ejecutar la consulta, se mostraran los registros cuyo campo sueldo cumple con la
condición establecida.
Cuando deseamos consultar registros de una tabla que cumplan con más de una
condición, debemos tener cuidado de identificar si las condiciones estarán conectadas con
Y o con O.
Uso de condiciones Y
Suponga que deseamos consultar nuestra tabla Empleado, de tal manera que se muestren
únicamente los registros los empleados del departamento de Contabilidad que ganan mas
de Q9000.00. En este caso deben cumplirse ambas condiciones:
Que el departamento sea Contabilidad y que sueldo sea mayor que 9000
62
Administración de bases de datos con LibreOffice Base
LibreOffice Base identifica las condiciones tipo Y, cuando todas las condiciones están
colocadas en la fila Criterio.
Al ejecutar la consulta, se muestran los registros que cumplen con las dos condiciones
63
Administración de bases de datos con LibreOffice Base
Uso de condiciones O
Podemos utilizar este tipo de condiciones cuando deseamos una consulta que muestre los
registros que cumplan cualquiera de las condiciones (no necesariamente todas). Para
establecer condiciones O, utilizamos a partir de la fila O del diseño de consultas. Cada
criterio O debe escribirse en una Fila distinta.
Ejemplo: Deseamos una consulta que muestre los empleados que sean del
departamento de programación o los que ganen más de Q7500.00
Filas O
Las condiciones O, se
colocan en filas
distintas, a partir de la
fila Criterio.
64
Administración de bases de datos con LibreOffice Base
Al ejecutar la consulta se mostrarán los registros que cumplen una u otra condición: O que
sean del departamento de contabilidad o que ganen más de Q7500.00.
Tipos de consultas
Consultas de selección
Son las consultas que extraen o nos muestran únicamente los datos que le especificamos.
Este tipo de consultas son las anteriormente vistas.
Consultas de acción
Este tipo de consultas se utilizan para realizar cambios a los registros en una sola
operación. Para implementarlas se utiliza la ventana de: Ejecutar instrucción de SQL.
Existen tres tipos de consultas de acción:
• De eliminación
• De actualización
• De datos anexados y de creación de tablas.
Como su nombre lo indica, este tipo de consultas nos permiten la eliminación de los
registros de una tabla que cumplen con ciertas condiciones.
Ejemplo:
65
Administración de bases de datos con LibreOffice Base
Se desea eliminar a los empleados que ganan menos de Q3000.00. Como se podrá
observar, hay sólo un empleado que cumple la condición: Juan Ortiz.
1) Clic en Herramientas
2) Clic en SQL…
3) En la ventana SQL, escribir la instrucción para la eliminación de los registros que
cumplan la condición, la cual se traduce como:
Borrar los registros desde la tabla Empleado donde el sueldo sea menor a 3000
4) Clic en Ejecutar
3
2
66
Administración de bases de datos con LibreOffice Base
Este tipo de consultas nos permiten modificar los registros cuyos campos cumplan con los
criterios establecidos. Mediante la sentencia Update podemos realizar la actualización. La
sintaxis de Update es:
A los empleados del departamento de Programación, se les dará un aumento del Q500.00
67
Administración de bases de datos con LibreOffice Base
2) Clic en Ejecutar
El departamento
con código 1 es el
de programación
3) Abrir la tabla y verificar los cambios. Puede observarse que, solamente, los
empleados del departamento de programación recibieron el aumento de Q500.00
68
Administración de bases de datos con LibreOffice Base
Observación: En una instrucción SQL en Base, los nombres de tablas y campos se encierran
entre comillas.
Se dice que una condición es compuesta cuando el criterio está formado por más de una
condición. Para establecer condiciones compuestas se utilizan los operadores lógicos, los
cuales son:
• And
• Or
Operador And
La consulta afecta a los registros que cumplan, necesariamente, todas las condiciones.
Ejemplo:
Descontar Q75.00 por seguro médico, a los empleados de Contabilidad que ganen más de
Q10000.00.
Solución:
En la ventana SQL, escriba lo siguiente:
Operador Or
Podemos utilizar este tipo de condiciones cuando deseamos una consulta que muestre los
registros que cumplan cualquiera de las condiciones (no necesariamente todas).
69
Administración de bases de datos con LibreOffice Base
Ejemplo:
Crear una consulta que descuente Q50.00 a los empleados que sean del departamento de
Programación o a los que ganen más de Q10000.00. Los registros de la tabla son:
Abriendo la tabla, se puede corroborar que los cambios han sido realizados en los registros
que cumplieron una u otra condición (o ambas).
Uso de Like
Este operador nos permite comparar campos de tipo texto con datos del mismo tipo. Se
usa con frecuencia acompañado del comodín *. El comodin * representa “cualquier
texto”.
Sintaxis:
70
Administración de bases de datos con LibreOffice Base
Ejemplo:
Deseamos una consulta que muestre los empleados cuyo nombre comience con V o con
M (para esto usaremos Like*).
Crear una Query by example (es decir, una consulta donde no ingresaremos -
directamente- instrucciones SQL). Para ello:
Puede ocultar la
visualización de un
campo, desmarcando
esta opción
3
4
71
Administración de bases de datos con LibreOffice Base
Su sintaxis es:
Ejemplo:
72
Administración de bases de datos con LibreOffice Base
73
Administración de bases de datos con LibreOffice Base
Una consulta de este tipo es aquella en la que al momento de ejecutarla se nos pide el
ingreso de un dato, necesario para la consulta. Un parámero se establece de acuerdo a
esta sintaxis:
Donde, operador es relacional (>, <, >=, <=, <>,=) y texto de entrada es el mensaje que se
mostrará para solicitar datos. Este último no debe llevar espacios.
Ejemplo 1:
Hacer una consulta que muestre los empleados que ganan más de un valor ingresado por
el usuario. La instrucción es:
> :Ingrese_Sueldo
Texto de entrada
74
Administración de bases de datos con LibreOffice Base
Al ejecutar la consulta, se mostrará esta vetana, solicitando un valor. Digitar el dato y hacer
clic en Aceptar.
Texto de entrada
Luego de lo cual, se muestran los registros que cumplen con la condición, con relación al
valor del parámetro.
Ejemplo 2:
Hacer una consulta que muestre los empleados que ganan entre un rango de valores
solicitados por parámetros.
75
Administración de bases de datos con LibreOffice Base
Se muestran los registros coincidentes con los valores que estan entre los parámetros
ingresados.
76
Administración de bases de datos con LibreOffice Base
Un campo calculado es aquel que, mediante una expresión aritmética, lógica o de texto,
toma su valor de otros campos de una tabla. . Un campo calculado, además de una
expresión que le dé un valor, necesita un encabezado con el cual mostrarse en la consulta.
A este encabezado se denomina: Alias. El Alias es el encabezado de columna con el que se
mostrará cuando se ejecute la consulta.
Ejemplo:
77
Administración de bases de datos con LibreOffice Base
Observaciones:
Una consulta de referencias cruzadas es aquella que nos permite visualizar los datos
agrupados, con respecto a un campo. Al agrupar, podemos: sumar, calcular promedios,
mostrar el mínimo o máximo, etc.
Ejemplo 1:
78
Administración de bases de datos con LibreOffice Base
Agregar un alias
adecuado
4 5
6) Ejecutar la consultar
Alias
Encabezados de fila
79
Administración de bases de datos con LibreOffice Base
Actividad
Tabla: Vendedor
Tabla: Venta
Establecer la relación:
80
Administración de bases de datos con LibreOffice Base
Tabla: Vendedor
Tabla: Ventas
Generar una consulta de tablas de referencias cruzadas, que muestre el total vendido por
cada persona.
81
Administración de bases de datos con MySQL
82
Administración de bases de datos con MySQL
Capítulo 2: MySQL
El administrador de bases de datos Mysql
MySQL permite crear base de datos y tablas, insertar datos, modificarlos, eliminarlos,
ordenarlos, hacer consultas y realizar muchas operaciones, etc., resumiendo: administrar
bases de datos.
Una base de datos es un conjunto de tablas. Una base de datos tiene un nombre con el cual
accederemos a ella.
Supongamos que vamos a trabajar en una base de datos ya creada , llamada
"administracion".
Para que el servidor nos muestre las bases de datos existentes, se lo solicitamos enviando la
instrucción:
show databases;
Nos mostrará los nombres de las bases de datos, debería aparecer, otras, "administracion".
83
Administración de bases de datos con MySQL
Cada campo (columna) debe tener un nombre. El nombre del campo hace referencia a la
información que almacenará.
Cada campo (columna) también debe definir el tipo de dato que almacenará.
nombre clave
--------------------------------------
Mario Pérez Marito
Maria García Mary
Diego Rodríguez z8080
Acá tenemos la tabla usuarios, que contiene dos campos llamados:nombre y clave. Luego
tenemos tres registros almacenados en esta tabla, el primero almacena en el campo nombre
el valor "Mario Pérez" y en el campo clave "Marito", y así sucesivamente con los otros dos
registros.
Creación de tablas
La tabla debe ser definida con un nombre que la identifique y con el cual accederemos a
ella.
Si intentamos crear una tabla con un nombre ya existente (existe otra tabla con ese
nombre), mostrará un mensaje de error indicando que la acción no se realizó porque ya
existe una tabla con el mismo nombre.
Para ver las tablas existentes en una base de datos digitamos nuevamente:
84
Administración de bases de datos con MySQL
show tables;
Cuando se crea una tabla debemos indicar su nombre y definir sus campos con su tipo de
dato. En esta tabla "usuarios" definimos 2 campos:
Cada usuario ocupará un registro de esta tabla, con su respectivo nombre y clave.
Para ver la estructura de una tabla usamos el comando "describe" junto al nombre de la
tabla:
describe usuarios;
Aparece lo siguiente:
Esta es la estructura de la tabla "usuarios"; nos muestra cada campo, su tipo, lo que ocupa
en bytes y otros datos como la aceptación de valores nulos etc, que veremos más adelante
en detalle.
Si digitamos nuevamente:
Aparece un mensaje de error, indicando que no existe, ya que intentamos borrar una tabla
inexistente.
85
Administración de bases de datos con MySQL
Cada vez que ingresamos a MySQL debemos seleccionar la base de datos a usar, mediante
la cláusula "use" y posteriormente ejecutar comandos SQL sobre dicha base de datos. Por
ejemplo si deseamos trabajar con la base de datos administracion, digitamos la siguiente
orden:
use administración;
Actividad
2- Cree una tabla llamada "agenda", debe tener los siguientes campos:
86
Administración de bases de datos con MySQL
titulo varchar(20),
autor varchar(30),
y editorial varchar(15)
Para poder trabajar con una base de datos, que ha sido previamente creada, tenemos que
abrila con el fin de poder habilitarla para su uso. Esto se logra mediante la sentencia: Use.
La sintaxis es:
Use nombreBaseDeDatos;
Por ejemplo, si deseamos abrir una base de datos llamada: Clientes, debemos abrila con:
use Clientes;
Al crear una tabla debemos resolver qué campos (columnas) tendrá y que tipo de datos
almacenará cada uno de ellos, es decir, su estructura. Estos son algunos tipos de datos
básicos:
varchar: se usa para almacenar cadenas de caracteres. Una cadena es una secuencia de
caracteres. Se coloca entre comillas (simples): 'Hola'. El tipo "varchar" define una cadena
de longitud variable en la cual determinamos el máximo de caracteres. Puede guardar hasta
65535 caracteres (versiones antiguas de MySQL permitían solo 255). Para almacenar
cadenas de hasta 30 caracteres, definimos un campo de tipo varchar(30). Si asignamos una
cadena de caracteres de mayor longitud que la definida, la cadena se corta. Por ejemplo, si
definimos un campo de tipo varchar(10) y le asignamos la cadena 'Buenas tardes', se
almacenará 'Buenas tar' ajustándose a la longitud de 10 caracteres.
87
Administración de bases de datos con MySQL
float: se usa para almacenar valores numéricos decimales. Se utiliza como separador el
punto (.). Definimos campos de este tipo para precios, por ejemplo.
Antes de crear una tabla debemos pensar en sus campos y optar por el tipo de dato
adecuado para cada uno de ellos. Por ejemplo, si en un campo almacenaremos números
enteros, el tipo "float" sería una mala elección; si vamos a guardar precios, el tipo "float" es
correcto, no así "integer" que no tiene decimales.
Servidor de MySQL instalado en forma local.
Crearemos una tabla en la base de datos "administracion" con una serie de campos de
distinto tipo:
Actividad
88
Administración de bases de datos con MySQL
describe peliculas;
B) Una empresa almacena los datos de sus empleados en una tabla "empleados" que
guarda los siguientes datos: nombre, documento, sexo, domicilio, sueldobase.
89
Administración de bases de datos con MySQL
El comando "select" recupera los registros de una tabla. Con el asterisco (*) indicamos que
seleccione todos los campos de la tabla que nombramos.
Podemos especificar el nombre de los campos que queremos ver separándolos por comas:
En la sentencia anterior la consulta mostrará sólo los campos "titulo", "autor" y "editorial".
En la siguiente sentencia, veremos los campos correspondientes al título y precio de todos
los libros:
Procedamos a crear una tabla, insertar algunas filas y mostrar solo algunas columnas de
dicha tabla:
90
Administración de bases de datos con MySQL
);
Actividad
2- Cree la tabla:
describe peliculas;
91
Administración de bases de datos con MySQL
B) Una empresa almacena los datos de sus empleados en una tabla llamada
"empleados".
2- Cree la tabla:
create table empleados(
nombre varchar(20),
documento varchar(8),
sexo varchar(1),
domicilio varchar(30),
sueldobase float
);
92
Administración de bases de datos con MySQL
2- Cree la tabla "articulos" con los campos necesarios para almacenar los siguientes datos:
- código del artículo: entero,
- nombre del artículo: 20 caracteres de longitud,
El comando "select" recupera los registros de una tabla. Detallando los nombres de los
campos separados por comas, indicamos que seleccione todos los campos de la tabla que
nombramos.
Existe una cláusula, "where" que es opcional, con ella podemos especificar condiciones
para la consulta "select". Es decir, podemos recuperar algunos registros, sólo los que
cumplan con ciertas condiciones indicadas con la cláusula "where". Por ejemplo, queremos
ver el usuario cuyo nombre es "MarioPerez", para ello utilizamos "where" y luego de ella,
la condición:
93
Administración de bases de datos con MySQL
Para las condiciones se utilizan operadores relacionales (tema que trataremos más adelante
en detalle). El signo igual(=) es un operador relacional. Para la siguiente selección de
registros especificamos una condición que solicita los usuarios cuya clave es igual a
'municipal':
describe usuarios;
Actividad
94
Administración de bases de datos con MySQL
B) Un comercio que vende artículos de computación registra los datos de sus artículos
en una tabla llamada: articulos. La base de datos se debe llamar Liberia (sin tilde).
95
Administración de bases de datos con MySQL
5- Seleccione todos los datos de los registros cuyo nombre sea "impresora".
Operadores Relacionales
Hemos aprendido a especificar condiciones de igualdad para seleccionar registros de una
tabla; por ejemplo:
select * from libros where autor='Miguel Angel Asturias';
Podemos seleccionar los registros cuyo autor sea diferente de 'Asturias', para ello usamos la
condición:
select * from libros where autor <>'Asturias';
Podemos comparar valores numéricos. Por ejemplo, queremos mostrar los libros cuyos
precios sean mayores a 20 quetzales:
select * from libros where precio > 20;
96
Administración de bases de datos con MySQL
La ejecución del comando indicado en la línea anterior borra TODOS los registros de la
tabla.
97
Administración de bases de datos con MySQL
Si queremos eliminar uno o varios registros debemos indicar cuál o cuáles, para ello
utilizamos el comando "delete" junto con la clausula "where" con la cual establecemos la
condición que deben cumplir los registros a borrar. Por ejemplo, queremos eliminar aquel
registro cuyo nombre de usuario es 'Marco':
delete from usuarios where nombre='Marco';
Si solicitamos el borrado de un registro que no existe, es decir, ningún registro cumple con
la condición especificada, no se borrarán registros, pues no encontró registros con ese dato.
El comando delete hay que tener mucho cuidado en su uso, una vez eliminado un registro
no hay forma de recuperarlo. Si por ejemplo ejecutamos el comando:
delete from usuarios;
98
Administración de bases de datos con MySQL
La idea de que no se puedan ejecutar ciertos comandos 'delete' es para evitar borrados
masivos de datos que luego no podemos recuperar.
Tenemos dos soluciones para resolver el problema de los 'delete', la primera es encerrar
todo el bloque donde ejecutamos los comandos delete cambiando el esta de la variable
'SQL_SAFE_UPDATES':
Método 1:
set SQL_SAFE_UPDATES=0;
99
Administración de bases de datos con MySQL
set SQL_SAFE_UPDATES=1;
Tengamos en cuenta que disponer la variable SQL_SAFE_UPDATES para que los borrados
sean solo seguros es muy conveniente cuando hay programadores que recién están
comenzando en SQL y hay datos valiosos ya almacenados.
select @@sql_safe_updates;
Método 2:
Clic en Ok.
100
Administración de bases de datos con MySQL
Debemos cerrar y volver a entrar al programa "Workbench" para que el cambio se haga
efectivo.
Si prueba en el servidor tutorialesprogramacionya.com el comando SQL 'delete' verá que
no hay restricciones en el borrado de filas, es decir que la variable SQL_SAFE_UPDATES
se encuentra en '0'.
Seguramente cambiará el estado de la variable 'SQL_SAFE_UPDATES' a '0' en su servidor,
pero es bueno tener cuidado cada vez que ejecutamos un comando SQL 'delete':
Utilizamos "update" junto al nombre de la tabla y "set" junto con el campo a modificar y su
nuevo valor. El cambio afectará a todos los registros.
Podemos modificar algunos registros, para ello debemos establecer condiciones de
selección con "where".
Por ejemplo, queremos cambiar el valor correspondiente a la clave de nuestro usuario
llamado 'Mario Pérez', queremos como nueva clave 'Boca', necesitamos una condición
"where" que afecte solamente a este registro:
Si no encuentra registros que cumplan con la condición del "where", ningún registro es
afectado. Las condiciones no son obligatorias, pero si omitimos la cláusula "where", la
actualización afectará a todos los registros.
También se puede actualizar varios campos en una sola instrucción:
update usuarios set nombre='Marcela Duarte', clave='Marce'
where nombre='Marcela';
101
Administración de bases de datos con MySQL
Para ello colocamos "update", el nombre de la tabla, "set" junto al nombre del campo y el
nuevo valor y separado por coma, el otro nombre del campo con su nuevo valor.
102
Administración de bases de datos con MySQL
Actividad
Cree o abra una base de datos llamada: Contactos. Trabaje con la tabla "agenda" que
almacena los datos de sus amigos.
2- Cree la tabla:
create table agenda(
apellido varchar(30),
nombre varchar(20),
domicilio varchar(30),
telefono varchar(11)
);
Mores,Alberto,zona 4,4234567,
Torres,Juan,zona 3,4458787,
Lopez,Mariana,zona 6,4545454,
Lopez,Jose,zona 7,4545454,
Peralta,Susana,zona 18,4123456.
5- Modifique el registro cuyo nombre sea "Juan" por "Juan Jose"(update- where):
6- Actualice los registros cuyo número telefónico sea igual a '4545454' por '4445566':
7- Actualice los registros que tengan en el campo "nombre" el valor "Juan" por "Juan Jose"
(ningún registro afectado porque ninguno cumple con la condición del "where"):
103
Administración de bases de datos con MySQL
);
Para definir un campo como clave primaria agregamos "primary key" luego de la definición
de todos los campos y entre paréntesis colocamos el nombre del campo que queremos como
clave.
Si visualizamos la estructura de la tabla con "describe" vemos que el campo "nombre" es
clave primaria y no acepta valores nulos(más adelante explicaremos esto detalladamente).
Ingresamos algunos registros:
insert into usuarios values (1,'Marco','marcocid');
insert into usuarios values (2,'Mario Perez','Marito');
insert into usuarios values (3,'Marcela','Comunicaciones');
insert into usuarios values (4,'Gustavo','Comunicaciones');
Si intentamos ingresar un valor para el campo clave que ya existe, aparece un mensaje de
error indicando que el registro no se cargó pues el dato clave existe. Esto sucede porque los
campos definidos como clave primaria no pueden repetirse.
Ingresamos un registro con un nombre de usuario repetido, por ejemplo:
104
Administración de bases de datos con MySQL
Una tabla sólo puede tener una clave primaria. Cualquier campo (de cualquier tipo) puede
ser clave primaria, debe cumplir como requisito, que sus valores no se repitan.
Al establecer una clave primaria estamos indexando la tabla, es decir, creando un índice
para dicha tabla; a este tema lo veremos más adelante.
describe usuarios;
105
Administración de bases de datos con MySQL
);
106
Administración de bases de datos con MySQL
Para que este atributo funcione correctamente, el campo debe contener solamente valores
positivos; más adelante trataremos este tema.
Probemos el siguiente bloque de comandos SQL desde "Workbench" para trabajar con un
campo con auto incremento:
create database librería;
drop table if exists libros;
describe libros;
107
Administración de bases de datos con MySQL
108
Administración de bases de datos con MySQL
La sentencia "truncate table" vacía la tabla (elimina todos los registros) y vuelve a crear la
tabla con la misma estructura.
La diferencia con "drop table" es que esta sentencia borra la tabla, "truncate table" la vacía.
La diferencia con "delete" es la velocidad, es más rápido "truncate table" que "delete" (se
nota cuando la cantidad de registros es muy grande) ya que éste borra los registros uno a
uno.
Otra diferencia es la siguiente: cuando la tabla tiene un campo "auto_increment", si
borramos todos los registros con "delete" y luego ingresamos un registro, al cargarse el
valor en el campo autoincrementable, continúa con la secuencia teniendo en cuenta el valor
mayor que se había guardado; si usamos "truncate table" para borrar todos los registros, al
ingresar otra vez un registro, la secuencia del campo autoincrementable vuelve a iniciarse
en 1.
Por ejemplo, tenemos la tabla "libros" con el campo "codigo" definido "auto_increment", y
el valor más alto de ese campo es "5", si borramos todos los registros con "delete" y luego
ingresamos un registro sin valor de código, se guardará el valor "6"; si en cambio, vaciamos
la tabla con "truncate table", al ingresar un nuevo registro sin valor para el código, iniciará
la secuencia en 1 nuevamente.
Probemos ejecutar este conjunto de comandos SQL en nuestro servidor local de MySQL
accediendo al mismo desde el programa "Workbench":
drop table if exists libros;
109
Administración de bases de datos con MySQL
110
Administración de bases de datos con MySQL
Tipos de datos
Ya explicamos que al crear una tabla debemos elegir la estructura adecuada, esto es,
definir los campos y sus tipos más precisos, según el caso. Por ejemplo, si un campo
numérico almacenará solamente valores enteros positivos el tipo "integer" con el atributo
"unsigned" es más adecuado que, por ejemplo un "float".
Hasta ahora hemos visto 3 tipos de datos: varchar, integer (con y sin signo) y float (con y
sin signo). Hay más tipos, incluso, subtipos.
Los valores que podemos guardar son:
A) TEXTO: Para almacenar texto usamos cadenas de caracteres. Las cadenas se colocan
entre comillas simples. Podemos almacenar dígitos con los que no se realizan operaciones
matemáticas, por ejemplo, códigos de identificación, números de documentos, números
telefónicos. Tenemos los siguientes tipos: varchar, char y text.
B) NUMEROS: Existe variedad de tipos numéricos para representar enteros, negativos,
decimales. Para almacenar valores enteros, por ejemplo, en campos que hacen referencia a
cantidades, precios, etc., usamos el tipo integer. Para almacenar valores con decimales
utilizamos: float o decimal.
C) FECHAS Y HORAS: para guardar fechas y horas dispone de varios tipos: date (fecha),
datetime (fecha y hora), time (hora), year (año) y timestamp.
D) OTROS TIPOS: enum y set representan una enumeración y un conjunto
respectivamente. Lo veremos más adelante.
E) Otro valor que podemos almacenar es el valor "null". El valor 'null' significa “valor
desconocido” o "dato inexistente", ya lo estudiamos. No es lo mismo que 0 o una cadena
vacía.
111
Administración de bases de datos con MySQL
112
Administración de bases de datos con MySQL
Probemos en "Workbench" crear una tabla con campos de distinto tipo y luego ejecutar el
comando describe:
drop table if exists libros;
);
describe libros;
113
Administración de bases de datos con MySQL
114
Administración de bases de datos con MySQL
horasalida time
);
Campos calculados
Es posible obtener salidas en las cuales una columna sea el resultado de un cálculo y no
un campo de una tabla.
Si queremos ver los títulos, precio y cantidad de cada libro escribimos la siguiente
sentencia:
select titulo,precio,cantidad from libros;
Si queremos saber el monto total en dinero de un título podemos multiplicar el precio por la
cantidad por cada título, pero también podemos hacer que MySQL realice el cálculo y lo
incluya en una columna extra en la salida:
Si queremos saber el precio de cada libro con un 10% de descuento podemos incluir en la
sentencia los siguientes cálculos:
select titulo, precio,precio*0.1,precio-(precio*0.1)
from libros;
115
Administración de bases de datos con MySQL
);
116
Administración de bases de datos con MySQL
Un "alias" se usa como nombre de un campo o de una expresión o para referenciar una
tabla cuando se utilizan más de una tabla (tema que veremos más adelante). En los campos
calculados, es muy conveniente usarlos porque, nos permiten rotular, adecuadamente un
resultado. Los alias se implementan con la palabra: as. Por ejemplo:
En el caso de los campos calculados del ejemplo anterior, podemos utilizar alias para que al
ejecutar la consulta, se muestren con un encabezado de columna que identifique el
resultado. La forma con alias es la siguiente:
Actividad
Una empresa almacena los datos de sus empleados en una tabla "empleados".
2- Cree una tabla llamada "empleados" con la estructura necesaria para almacenar la
siguiente información:
- nombre del empleado,
- documento,
- sexo,
- domicilio,
- sueldo base ,
- hijos a cargo,
- clave primaria: documento.
117
Administración de bases de datos con MySQL
• La empresa paga un bono familiar por hijos a cargo, Q200 por cada hijo.
Necesitamos el nombre del empleado, el sueldo base, la cantidad de hijos a cargo, el
total del salario familiar y el sueldo final (incluyendo el bono familiar):
Ordenamientos
Podemos ordenar el resultado de un "select" para que los registros se muestren ordenados
por algún campo, para ello usamos la cláusula "order by".
Por ejemplo, recuperamos los registros de la tabla "libros" ordenados por el título:
select codigo,titulo,autor,editorial,precio from libros order
by titulo;
Por defecto, si no aclaramos en la sentencia, los ordena de manera ascendente (de menor a
mayor). Podemos ordenarlos de mayor a menor, para ello agregamos la palabra clave
"desc":
select codigo,titulo,autor,editorial,precio from libros order
by editorial desc;
También podemos ordenar por varios campos, por ejemplo, por "titulo" y "editorial":
select codigo,titulo,autor,editorial,precio from libros order by titulo, editorial;
Incluso, podemos ordenar en distintos sentidos, por ejemplo, por "titulo" en sentido
ascendente y "editorial" en sentido descendente:
select codigo,titulo,autor,editorial,precio
from libros order by titulo asc, editorial desc;
118
Administración de bases de datos con MySQL
Debe aclararse al lado de cada campo, el tipo de ordenamiento, pues estas palabras claves
afectan al campo inmediatamente anterior.
Ejecutemos el siguiente bloque de instrucciones SQL:
);
select codigo,titulo,autor,editorial,precio
from libros
order by titulo;
119
Administración de bases de datos con MySQL
Actividad
Cree una base de datos denominada Farmacia con una tabla llamada "medicamentos" que
almacena la información de los productos que se venden.
);
120
Administración de bases de datos con MySQL
Queremos recuperar todos los registros cuyo autor sea igual a "Borges" y cuyo precio no
supere los 20 pesos, para ello necesitamos 2 condiciones:
select * from libros
where (autor='Aturias') and
(precio<=20);
Los registros recuperados en una sentencia que une 2 condiciones con el operador "and",
cumplen con las 2 condiciones.
Queremos ver los libros cuyo autor sea "Borges" y/o cuya editorial sea "Planeta":
select * from libros
where autor='Asturias' or
editorial='Planeta';
En la sentencia anterior usamos el operador "or", indicamos que recupere los libros en los
cuales el valor del campo "autor" sea "Asturias" y/o el valor del campo "editorial" sea
"Planeta", es decir, seleccionará los registros que cumplan con la primera condición, con la
segunda condición o con ambas condiciones.
Los registros recuperados con una sentencia que une 2 condiciones con el operador "or",
cumplen 1 de las condiciones o ambas.
Queremos ver los libros cuyo autor sea "Asturias" o cuya editorial sea "Planeta":
select * from libros
where (autor='Borges') xor
(editorial='Planeta');
En la sentencia anterior usamos el operador "xor", indicamos que recupere los libros en los
cuales el valor del campo "autor" sea "Borges" o el valor del campo "editorial" sea
"Planeta", es decir, seleccionará los registros que cumplan con la primera condición o con
la segunda condición pero no los que cumplan con ambas condiciones. Los registros
recuperados con una sentencia que une 2 condiciones con el operador "xor", cumplen 1 de
las condiciones, no ambas.
Queremos recuperar los libros que no cumplan la condición dada, por ejemplo, aquellos
cuya editorial NO sea "Planeta":
select * from libros
where not (editorial='Planeta');
121
Administración de bases de datos con MySQL
Los paréntesis se usan para encerrar condiciones, para que se evalúen como una sola
expresión.
Cuando explicitamos varias condiciones con diferentes operadores lógicos (combinamos
"and", "or") permite establecer el orden de prioridad de la evaluación; además permite
diferenciar las expresiones más claramente.
Por ejemplo, las siguientes expresiones devuelven un resultado diferente:
select * from libros
where (autor='Asturias') or
(editorial='Paidos' and precio<20);
select*from libros
where (autor='Borges' or editorial='Paidos') and
(precio<20);
Si bien los paréntesis no son obligatorios en todos los casos, se recomienda utilizarlos para
evitar confusiones.
El orden de prioridad de los operadores lógicos es el siguiente: "not" se aplica antes que
"and" y "and" antes que "or", si no se especifica un orden de evaluación mediante el uso de
paréntesis.
El orden en el que se evalúan los operadores con igual nivel de precedencia es indefinido,
por ello se recomienda usar los paréntesis.
Ingresemos al programa "Workbench" y ejecutemos el siguiente bloque de instrucciones
SQL donde probamos los operadores lógicos and, or, not y xor:
create database biblioteca2;
drop table if exists libros;
122
Administración de bases de datos con MySQL
123
Administración de bases de datos con MySQL
Actividad
5- Recupere los códigos y nombres de los medicamentos cuyo laboratorio sea 'Roche' y
cuyo precio sea menor a 5
6- Recupere los medicamentos cuyo laboratorio sea 'Roche' o cuyo precio sea menor a 5:
Note que la salida es diferente, hemos cambiado el operador de la sentencia anterior. Ahora
se recuperaron todos los registros cuyo laboratorio es igual a 'Roche' y todos los registros
124
Administración de bases de datos con MySQL
cuyo precio es menor a 5. Aquellos registros que no cumplieron con la condición 1 (no son
de "Roche") ni con la condicion2 (no cuestan menos de 5) no aparecen.
7- Muestre todos los registros que no sean de "Bayer" usando el operador "not".
8- Muestre todos los medicamentos cuyo laboratorio NO sea "Bayer" y cuya cantidad
9- Muestre todos los medicamentos cuyo laboratorio sea "Bayer" y cuya cantidad NO
sea=100:
10- Elimine todos los registros cuyo laboratorio sea igual a "Bayer" y su precio sea mayor a
10:
11- Cambie la cantidad por 200, a todos los medicamentos de "Roche" cuyo precio sea
mayor a 5:
12- Borre los medicamentos cuyo laboratorio sea "Bayer" o cuyo precio sea menor a 3.
Antes veamos cuáles cumplen con la condición, los registros 5 y 6 son de "Bayer, cumplen
con la primera condición, los registros 4 y 5 cumplen con la segunda condición, es decir, se
borrarán 3 registros:
el 4 porque cumple con la segunda condición, el 5 porque cumple con ambas y el 6 porque
cumple con la primera.
125
Administración de bases de datos con MySQL
"between" significa "entre". Averiguamos si el valor de un campo dado (precio) está entre
los valores mínimo y máximo especificados (20 y 40 respectivamente).
Si agregamos el operador "not" antes de "between" el resultado se invierte.
Para recuperar los libros cuyo autor sea 'Paenza' o 'Asturias' usamos 2 condiciones:
select * from libros
where autor='Asturias' or autor='Paenza';
Con "in" averiguamos si el valor de un campo dado (autor) está incluido en la lista de
valores especificada (en este caso, 2 cadenas).
Para recuperar los libros cuyo autor no sea 'Paenza' ni 'Asturias' usamos:
select * from libros where autor<>'Asturias' and
autor<>'Paenza';
Con "in" averiguamos si el valor del campo está incluido en la lista, con "not" antecediendo
la condición, invertimos el resultado.
Ejecutemos el siguiente bloque de instrucciones SQL para utilizar los operadores
relacionales 'between' y 'in'.
Create database librería;
drop table if exists libros;
);
126
Administración de bases de datos con MySQL
Actividad
1.Trabaje con la tabla llamada "medicamentos" de una farmacia. Abra la base de datos
Farmacia, con Use.
127
Administración de bases de datos con MySQL
5- Recupere los nombres y precios de los medicamentos cuyo precio esté entre 5 y 15:
128