*Actitudes----------------------------------------------10%
Sentencias Select
Base
de Datos: Ministerio de salud.
Tabla:
Hospitales.
Consultas
de selección.
1-
Obtener el campo llamado código y nombre.
mysql> select codigo,nombre from hospitales;
+--------+--------------------------------+
| codigo | nombre |
+--------+--------------------------------+
| 1 |
Julian_Moreno_Mayen |
| 2 |
Miriam_Casimiro_Lopez |
| 3 |
Teresa_de_Anguiano_Cuauteconce |
| 4 |
Edgar_Enrique_Angeles_Sanchez |
| 5 |
Guadalupe_Amaraini |
| 6 |
Rodrigo_Garcia_Soto |
| 7 |
Jonathan_Issac_Caballero_Peña |
| 8 |
Edzon_Avendaño_de_la_Rosa |
| 9 |
Amanda_Garcia_Fuentes |
| 10 |
Telesforo_Rojas_Marin |
+--------+--------------------------------+
10 rows in set (0.02 sec)
2- Mostrar los nombres de las personas que vivan en Tultitlan.
mysql>
select nombre from hospitales where Direccion='Tultitlan';
+-------------------------------+
|
nombre |
+-------------------------------+
|
Guadalupe_Amaraini |
|
Jonathan_Issac_Caballero_Peña |
| Amanda_Garcia_Fuentes |
| Telesforo_Rojas_Marin |
+-------------------------------+
4 rows in set (0.04 sec)
3- Mostrar los nombres de las personas que vivan en Atizapan de
Zaragoza o Naucalpan de Juarez.
mysql> select nombre from
hospitales where Direccion='Atizapan_de_Zaragoza' or
Direccion='Naucalpan_de_Juarez';
+--------------------------------+
| nombre |
+--------------------------------+
| Teresa_de_Anguiano_Cuauteconce |
| Edgar_Enrique_Angeles_Sanchez |
| Rodrigo_Garcia_Soto |
| Edzon_Avendaño_de_la_Rosa |
+--------------------------------+
4- Mostrar los datos de las personas cuya Direccion sea Naucalpan de
Juarez y sean oredenados descendentemente.
mysql>
select *from hospitales order by Direccion='Naucalpan_de_Juarez' desc;
+--------+--------------------------------+--------------------------------+------------+
| codigo | nombre | Direccion | telefono |
+--------+--------------------------------+--------------------------------+------------+
| 6 |
Rodrigo_Garcia_Soto |
Naucalpan_de_Juarez |
2147483647 |
| 8 |
Edzon_Avendaño_de_la_Rosa |
Naucalpan_de_Juarez |
2147483647 |
| 9 |
Amanda_Garcia_Fuentes |
Tultitlan |
2147483647 |
| 7 |
Jonathan_Issac_Caballero_Peña |
Tultitlan | 2147483647 |
| 1 |
Julian_Moreno_Mayen |
Av_san_Padreras_Naucalpan_de_J | 2147483647 |
| 5 |
Guadalupe_Amaraini |
Tultitlan |
2147483647 |
| 4 |
Edgar_Enrique_Angeles_Sanchez | Atizapan_de_Zaragoza | 2147483647 |
| 3 |
Teresa_de_Anguiano_Cuauteconce | Atizapan_de_Zaragoza | 2147483647 |
| 2 |
Miriam_Casimiro_Lopez |
Cuatitlan |
2147483647 |
| 10 |
Telesforo_Rojas_Marin | Tultitlan|
2147483647 |
+--------+--------------------------------+--------------------------------+------------+
10 rows in set (0.03 sec)
5- Mostrar los nombres que hay en la tabla sin repeticiones.
mysql>
select DISTINCT nombre from hospitales;
+--------------------------------+
| nombre |
+--------------------------------+
| Julian_Moreno_Mayen |
| Miriam_Casimiro_Lopez |
| Teresa_de_Anguiano_Cuauteconce |
| Edgar_Enrique_Angeles_Sanchez |
| Guadalupe_Amaraini |
| Rodrigo_Garcia_Soto |
| Jonathan_Issac_Caballero_Peña |
| Edzon_Avendaño_de_la_Rosa |
| Amanda_Garcia_Fuentes |
| Telesforo_Rojas_Marin |
+--------------------------------+
10 rows in set (0.03 sec)
6- Seleccionar aquellas personas que empiezen con E.
mysql>
select *from hospitales where nombre like 'E%';
+--------+-------------------------------+----------------------+------------+
| codigo | nombre | Direccion | telefono |
+--------+-------------------------------+----------------------+------------+
| 4 |
Edgar_Enrique_Angeles_Sanchez | Atizapan_de_Zaragoza | 2147483647 |
| 8 |
Edzon_Avendaño_de_la_Rosa |
Naucalpan_de_Juarez | 2147483647 |
+--------+-------------------------------+----------------------+------------+
7- Obtener los nombres en Mayúsculas de las personas que vivan en
Tultitlan.
mysql>
select UPPER(nombre) from hospitales where Direccion='Tultitlan';
+-------------------------------+
|
UPPER(nombre) |
+-------------------------------+
|
GUADALUPE_AMARAINI |
|
JONATHAN_ISSAC_CABALLERO_PEñA |
| AMANDA_GARCIA_FUENTES |
| TELESFORO_ROJAS_MARIN |
+-------------------------------+
4 rows in set (0.04 sec)
8-Realizar una
consulta que muestre longitud o letras de cada Direccion usando Length.
mysql> select LENGTH(Direccion) from hospitales;
+-------------------+
|
LENGTH(Direccion) |
+-------------------+
| 30 |
| 9 |
| 20 |
| 20 |
| 9 |
| 19 |
| 9 |
| 19 |
| 9 |
| 9 |
+-------------------+
10 rows
in set (0.03 sec)
9- Mostrar el nombre que tenga la letra A en el nombre cuya function
viva en Tultitlan.
mysql> select nombre from hospitales where
nombre like 'A%' and Direccion='Tultitlan';
+-----------------------+
| nombre |
+-----------------------+
| Amanda_Garcia_Fuentes |
+-----------------------+
1 row in set (0.00 sec)
10- Visualizar los datos de aquellas personas que no tengan el código
1, 2, 5, 6, 7,8, 9, 10 y sean de Atizapán de Zaragoza.
mysql> select
nombre,Direccion from hospitales where codigo='3' or codigo='4' and
Direccion='Atizapan_de_Zaragoza';
+--------------------------------+----------------------+
| nombre | Direccion |
+--------------------------------+----------------------+
|
Teresa_de_Anguiano_Cuauteconce | Atizapan_de_Zaragoza |
|
Edgar_Enrique_Angeles_Sanchez |
Atizapan_de_Zaragoza |
Base
de Datos: Mercosur
Tabla:
Departamento
Consultas
de selección.
1- Seleccionar toda la tabla llamada País.
mysql> select *from Pais;
+---------+
| Nombre
|
+---------+
| Mexico
|
| Japon
|
| Korea
|
| China
|
| EEUA
|
| Canada |
| Chile |
| Brasil |
| Bolivia |
| Rusia |
+---------+
10 rows in set (0.00 sec)
2- Mostrar el número de caracteres que tiene el nombre de cada Pais.
mysql> select LENGTH(Nombre) from Pais;
+----------------+
| LENGTH(Nombre) |
+----------------+
| 6 |
| 5 |
| 5 |
| 5 |
| 4 |
| 6 |
| 5 |
| 6 |
| 7 |
| 5 |
+----------------+
10 rows in set (0.00 sec)
3- Seleccionar toda la tabla país y ordenar el nombre Descendentemente.
mysql> select *from Pais order by Nombre
desc;
+---------+
| Nombre |
+---------+
| Rusia |
| Mexico |
| Korea |
| Japon |
| EEUA |
| China |
| Chile |
| Canada |
| Brasil |
| Bolivia |
+---------+
10 rows in set (0.00 sec)
4- Seleccionar aquel pais que tenga la R.
mysql> select *from Pais where Nombre
like'R%';
+--------+
| Nombre |
+--------+
| Rusia |
+--------+
1 row in set (0.01 sec)
5- Mostrar los paises que hay en la tabla Pais sin repeticiones.
mysql> select DISTINCT Nombre from Pais;
+---------+
| Nombre |
+---------+
| Mexico |
| Japon |
| Korea |
| China |
| EEUA |
| Canada |
| Chile |
| Brasil |
| Bolivia |
| Rusia |
+---------+
10 rows in set (0.00 sec)
6- Mostrar en minúsculas el nombre de cada pais.
mysql> select LOWER(Nombre) from Pais;
+---------------+
| LOWER(Nombre) |
+---------------+
| mexico |
| japon |
| korea |
| china |
| eeua |
| canada |
| chile |
| brasil |
| bolivia |
| rusia |
+---------------+
10 rows in set (0.01 sec)
7- Mostrar los nombres de los paises en Mayusculas.
mysql> select UPPER(Nombre) from Pais;
+---------------+
| UPPER(Nombre) |
+---------------+
| MEXICO |
| JAPON |
| KOREA |
| CHINA |
| EEUA |
| CANADA |
| CHILE |
| BRASIL |
| BOLIVIA
|
| RUSIA
|
+---------------+
10 rows in set (0.00 sec)
8- Seleccionar toda la tabla Pais donde nombre sea Mexico.
mysql> select *from Pais where
Nombre='Mexico';
+--------+
| Nombre |
+--------+
| Mexico |
+--------+
1 row in set (0.00 sec)
9- Seleccionar toda la tabla Pais donde nombre sea Mexico y Rusia
mysql> select *from Pais where
Nombre='Mexico' or Nombre='Rusia';
+--------+
| Nombre |
+--------+
| Mexico |
| Rusia
|
+--------+
2 rows in set (0.00 sec)
10- Seleccionar toda la table Pais y ordenarlos ascendentemente.
mysql> select *from Pais order by Nombre;
+---------+
| Nombre |
+---------+
| Bolivia |
| Brasil |
| Canada |
| Chile |
| China |
| EEUA |
| Japon |
| Korea |
| Mexico |
| Rusia
|
+---------+
10 rows in set (0.00 sec)
Base
de Datos: Empresa
Tabla:
Departamento
Consultas
de selección.
1-
Obtener el nombre y presupuesto de la tabla Departamento.
mysql> select
nombre,presupuesto from Departamento;
+----------------+-------------+
| nombre | presupuesto |
+----------------+-------------+
| Administracion | 6000 |
| Gerente |
3000 |
| Finanzas |
1500 |
| Produccion |
10000 |
| Contabilidad |
1500 |
| Supervision |
1000 |
| Ventas | 2000 |
| Ensamblaje |
2000 |
| Ensamblaje |
2000 |
| Contabilidad |
5000 |
+----------------+-------------+
10 rows in set (0.00 sec)
2- Mostrar el nombre del departamento que tengan un presupuesto de
2000.
mysql> select nombre from
Departamento where presupuesto='2000';
+------------+
| nombre |
+------------+
| Ventas |
| Ensamblaje |
| Ensamblaje |
+------------+
3 rows in set (0.00 sec)
3- Seleccionar el nombre del Departamento que su salario sea superior a
6000.
mysql> select nombre from
Departamento where presupuesto>6000;
+------------+
| nombre |
+------------+
| Produccion |
+------------+
1 row in set (0.00 sec)
4- Seleccionar el campo llamado nombre sin repeticiones.
mysql> select DISTINCT
nombre from Departamento;
+----------------+
| nombre |
+----------------+
| Administracion |
| Gerente |
| Finanzas |
| Produccion |
| Contabilidad |
| Supervision |
| Ventas
|
| Ensamblaje
|
+----------------+
8 rows in set (0.00 sec)
5- Mostrar los datos de las personas que tengan un salario superior a
1500 y que sean del Departamento Ensamblaje y ordenar el presupuesto.
mysql> select *from
Departamento where presupuesto>1500 and nombre='Ensamblaje'order by
presupuesto desc;
+--------+------------+-------------+
| codigo | nombre | presupuesto |
+--------+------------+-------------+
| 8 | Ensamblaje | 2000 |
| 8 | Ensamblaje | 2000 |
+--------+------------+-------------+
2 rows in set (0.00 sec)
6- Mostrar aquellas personas que tengan un preupuesto entre 1500 a
6000.
mysql> select *from Departamento where
presupuesto between 1500 and 6000;
+--------+----------------+-------------+
| codigo | nombre | presupuesto |
+--------+----------------+-------------+
| 1 | Administracion | 6000 |
| 2 | Gerente |
3000 |
| 3 | Finanzas |
1500 |
| 5 | Contabilidad |
1500 |
| 7 | Ventas | 2000 |
| 8 | Ensamblaje |
2000 |
| 8 | Ensamblaje |
2000 |
| 10
| Contabilidad | 5000 |
+--------+----------------+-------------+
8 rows in set (0.00 sec)
7- Seleccionar toda la tabla llamada Departamentos y ordenar el nombre descendentemente.
mysql> select *from Departamento order by
nombre desc;
+--------+----------------+-------------+
| codigo | nombre | presupuesto |
+--------+----------------+-------------+
| 7 | Ventas | 2000 |
| 6 | Supervision |
1000 |
| 4 | Produccion |
10000 |
| 2 | Gerente |
3000 |
| 3 | Finanzas |
1500 |
| 8 | Ensamblaje |
2000 |
| 8 | Ensamblaje |
2000 |
| 10 | Contabilidad |
5000 |
| 5 | Contabilidad |
1500 |
| 1 | Administracion | 6000 |
+--------+----------------+-------------+
10 rows in set (0.00 sec)
8- Seleccionar el campo llamado codigo de toda la tabla Departamento y que sean de Ensamblaje y
Contabilidad.
mysql> select codigo from
Departamento where nombre='Ensamblaje' or nombre='Contabilidad';
+--------+
| codigo |
+--------+
| 5 |
| 8 |
| 8 |
| 10 |
+--------+
4 rows in set (0.00 sec)
9- Seleccionar el campo llamado nombre que sean del codigo 8 y tenga un
preupuesto superior a 2000.
mysql> select nombre from
Departamento where codigo='8' or presupuesto>2000;
+----------------+
| nombre |
+----------------+
| Administracion |
| Gerente |
| Produccion |
| Ensamblaje |
| Ensamblaje |
| Contabilidad
|
+----------------+
6 rows in set (0.00 sec)
10- Obtener el nombre del departamento en Minuscula.
mysql> select LOWER(nombre) from
Departamento;
+----------------+
| LOWER(nombre) |
+----------------+
| administracion |
| gerente |
| finanzas |
| produccion |
| contabilidad |
| supervision |
| ventas |
| ensamblaje |
| ensamblaje |
| contabilidad |
+----------------+
10 rows in set (0.00 sec)
mysql>
Base
de Datos: Biblioteca
Tabla:
Ficha del Autor
Consultas
de selección.
1- Obtener el
nombre del autor de la tabla llamada Ficha_del_autor.
mysql> select nombre_del_autor from Ficha_del_autor;
+------------------------------+
| nombre_del_autor |
+------------------------------+
| Guillermo_del_Toro |
| Octavio_Paz |
| Guillermo_del_Toro |
| Miguel_Cervantes_de_Saavedra |
| Selma_Lagerlof |
| Antonio_Velasco_Pena |
| Jorge_Issac |
| Julio_Verne |
| Ziper_Joaquin |
| Guillermo_del_Toro |
+------------------------------+
10 rows in set (0.00 sec)
2- Mostrar el nombre del autor que tenga el código ‘10’.
mysql> select
nombre_del_autor from Ficha_del_autor where codigo='10';
+--------------------+
| nombre_del_autor |
+--------------------+
| Guillermo_del_Toro |
+--------------------+
3 rows in set (0.00 sec)
3- Seleccionar los nombres del
autor cuya función sea ordenar el código descendentemente.
mysql> select
nombre_del_autor from Ficha_del_autor order by codigo desc;
+------------------------------+
| nombre_del_autor |
+------------------------------+
| Jorge_Issac |
| Octavio_Paz |
| Julio_Verne |
| Guillermo_del_Toro |
| Guillermo_del_Toro |
| Guillermo_del_Toro |
| Ziper_Joaquin |
| Antonio_Velasco_Pena |
| Selma_Lagerlof |
| Miguel_Cervantes_de_Saavedra
|
+------------------------------+
10 rows in set (0.00 sec)
4- Mostrar los datos de los nombres de los autores que hay en la tabla
llamada Ficha del autor sin repeticiones.
mysql> select DISTINCT
nombre_del_autor from Ficha_del_autor;
+------------------------------+
| nombre_del_autor |
+------------------------------+
| Guillermo_del_Toro |
| Octavio_Paz |
| Miguel_Cervantes_de_Saavedra
|
| Selma_Lagerlof |
| Antonio_Velasco_Pena |
| Jorge_Issac |
| Julio_Verne |
| Ziper_Joaquin |
+------------------------------+
8 rows in set (0.03 sec)
5- Mostrar los datos de las personas cuya función empiece con la letra
‘J’.
mysql> select *from
Ficha_del_autor where nombre_del_autor like 'J%';
+--------+------------------+
| codigo | nombre_del_autor |
+--------+------------------+
| 32 | Jorge_Issac |
| 12 | Julio_Verne |
+--------+------------------+
2 rows in set (0.03 sec)
6- Obtener los nombres de los autores en Mayúsculas que tengan el
codigo 10 y 15.
mysql> select
UPPER(nombre_del_autor) from Ficha_del_autor where codigo='10' or codigo='15';
+-------------------------+
| UPPER(nombre_del_autor) |
+-------------------------+
| GUILLERMO_DEL_TORO |
| OCTAVIO_PAZ |
| GUILLERMO_DEL_TORO |
| GUILLERMO_DEL_TORO |
+-------------------------+
4 rows in set (0.00 sec)
7- Obtener los nombres de los autores en Minúsculas que su nombre sea
Selma lagerlof.
mysql>select LOWER(nombre_del_autor)
from Ficha_del_autor where nombre_del_autor='Selma_Lagerlof';
+-------------------------+
| LOWER(nombre_del_autor) |
+-------------------------+
| selma_lagerlof |
+-------------------------+
1 row in set (0.00 sec)
8- Realizar una consulta donde te muestre cuantos caracteres tiene el
campo llamado nombre_del_autor.
mysql> select LENGTH(nombre_del_autor)from
Ficha_del_autor;
+--------------------------+
| LENGTH(nombre_del_autor) |
+--------------------------+
|
18 |
|
11 |
|
18 |
|
28 |
|
14 |
|
20 |
|
11 |
|
11 |
|
13 |
|
18 |
+--------------------------+
10 rows in set (0.01 sec)
9-
Seleccionar los datos de aquellas personas cuya función sea Guillermo del Toro
y Octavio Paz utilizando el operador (IN)
mysql> select nombre_del_autor from
Ficha_del_autor where nombre_del_autor='Guillermo_del_Toro' In nombre_del_autor='Octavio_Paz';
+--------------------+
| nombre_del_autor |
+--------------------+
| Guillermo_del_Toro |
| Octavio_Paz |
| Guillermo_del_Toro |
| Guillermo_del_Toro |
+--------------------+
4 rows in set (0.00 sec)
10-
Obtener los nombres de los autores de Miguel Cervantes de Saavedra y
Julio Verne y ordenarlos de manera descedentemente.
mysql> select nombre_del_autor from Ficha_del_autor where
nombre_del_autor='Miguel_Cervantes_de_Saavedra' or
nombre_del_autor='Julio_Verne' order by nombre_del_autor desc;
+------------------------------+
| nombre_del_autor
|
+------------------------------+
| Miguel_Cervantes_de_Saavedra |
| Julio_Verne
|
+------------------------------+
2 rows in set (0.00 sec)
Base
de Datos: Equipo de Futbol
Tabla:
Equipo
Consultas
de selección.
1- Obtener
Nombre,Esradio,Aforo,Ciudad de toda la tabla Equipos.
mysql> select Nombre,Esradio,Aforo,Ciudad from Equipo;
+-----------+-----------------+-----------------+-----------+
| Nombre |
Esradio | Aforo | Ciudad |
+-----------+-----------------+-----------------+-----------+
| Chivas |
Estadio_de_las_ | Guadalajara |
Jalisco |
| America |
Estadio_azteca | DF | DF |
| Pumas |
Estadio_olimpic | DF |
DF |
| Cruz_Azul | Estadio_azul | DF | DF |
| Toluca |
Nemesio_diez | EDO_MEX | Toluca |
| Leon | Newse
cup | Guanajuato | Leon |
| Pachuca |
Tuzos | Hidalgo | Pachuca |
| Tigres | Olimpico | Nuevo_Leon | Monterrey |
| Monterrey | Olimpico | Nuevo_Leon | Monterrey |
| Tijuana |
Caliente | Baja_California |
Tijuana |
+-----------+-----------------+-----------------+-----------+
10 rows in set (0.04 sec)
2- Mostrar el
Nombre de la tabla Equipo cuya Aforo sea DF ordenados descedentemente.
mysql>
select Nombre from Equipo order by Aforo='DF' desc;
+-----------+
| Nombre |
+-----------+
| America |
| Pumas |
| Cruz_Azul |
| Chivas |
| Monterrey |
| Tigres |
| Pachuca |
| Leon |
|
Toluca |
|
Tijuana |
+-----------+
10 rows
in set (0.01 sec)
3- Realizar la consulta que muestre aparecer los caracteres de cada uno
del campo de cada Ciudad.
mysql>
select LENGTH(Ciudad) from Equipo;
+----------------+
|
LENGTH(Ciudad) |
+----------------+
| 7 |
| 2 |
| 2 |
| 2 |
| 6 |
| 4 |
| 7 |
| 9 |
| 9 |
| 7 |
+----------------+
10 rows
in set (0.00 sec)
4- Obtener
Nombre,Esradio en minuscula .
mysql>
select LOWER(Nombre),LOWER(Esradio) from Equipo;
+---------------+-----------------+
| LOWER(Nombre) | LOWER(Esradio) |
+---------------+-----------------+
| chivas |
estadio_de_las_ |
| america |
estadio_azteca |
| pumas |
estadio_olimpic |
| cruz_azul |
estadio_azul |
| toluca |
nemesio_diez |
| leon |
newse cup |
| pachuca |
tuzos |
| tigres | olimpico |
| monterrey |
olimpico |
|
tijuana | caliente |
+---------------+-----------------+
10 rows
in set (0.00 sec)
5- Mostrar los datos del Nombre de la ciudad que tenga d y tenga antigüedad
sea del 2011.
mysql>
select *from Equipo where Ciudad like 'D%' and antiguedad='2011';
+----------------+--------+-----------+--------------+-------+--------+------------+
| DNI_Presidente | codigo | Nombre | Esradio | Aforo | Ciudad | antiguedad |
+----------------+--------+-----------+--------------+-------+--------+------------+
| 4
| 12097 | Cruz_Azul | Estadio_azul |
DF | DF |
2011 |
+----------------+--------+-----------+--------------+-------+--------+------------+
1 row in set (0.00 sec)
6- Mostrar todas las ciudades sin repeticiones.
mysql>
select DISTINCT Ciudad from Equipo;
+-----------+
|
Ciudad |
+-----------+
|
Jalisco |
|
DF |
|
Toluca |
|
Leon |
|
Pachuca |
|
Monterrey |
|
Tijuana |
+-----------+
7 rows in
set (0.00 sec)
7- Mostrar el Aforo de los Equipos que sean Chivas y America.
mysql> select Aforo from Equipo where Nombre='Chivas'
or Nombre='America';
+-------------+
| Aforo |
+-------------+
|
Guadalajara |
|
DF |
+-------------+
2 rows
in set (0.01 sec)
8- Mostrar el nombre en Mayusculas.
mysql>
select UPPER(Nombre) from Equipo;
+---------------+
| UPPER(Nombre) |
+---------------+
| CHIVAS |
| AMERICA |
| PUMAS |
| CRUZ_AZUL |
| TOLUCA |
| LEON |
| PACHUCA |
|
TIGRES |
|
MONTERREY |
|
TIJUANA |
+---------------+
10 rows
in set (0.07 sec)
9- Obtener los
datos de aquellos Equipos que tengan el codigo 1_10 y 2_20 ordernar el Aforo
ascedentemente.
mysql> select Nombre from Equipo where
DNI_Presidente='1_10' or DNI_Presidente='2_20' order by Aforo;
+---------+
| Nombre
|
+---------+
| America |
| Chivas
|
+---------+
2 rows in set, 19 warnings (0.00 sec)
10- Mostrar los datos de los Equipos que sean de la ciudad de Guanaguato
y Guadalajara y tengan de antigüedad el año 2013.
mysql> select *from Equipo
where Ciudad='Guanajuato' and Ciudad='Guadalajara' or antiguedad='2013';
+----------------+--------+-----------+----------+-----------------+-----------+
------------+
| DNI_Presidente | codigo |
Nombre | Esradio | Aforo | Ciudad |antiguedad |
+----------------+--------+-----------+----------+-----------------+-----------+
------------+
| 8 | 12097 | Tigres | Olimpico | Nuevo_Leon | Monterrey |2013 |
| 9 | 12097 | Monterrey | Olimpico |
Nuevo_Leon | Monterrey |2013 |
| 10 | 12097 | Tijuana | Caliente | Baja_California | Tijuana |2013 |
+----------------+--------+-----------+----------+-----------------+-----------+
------------+
3 rows in set (0.00 sec)
Base
de Datos: Automotriz
Tabla:
Automóviles
Consultas
de selección.
1- Obtener la Marca y el Modelo de los Automoviles.
mysql> select Marca,Modelo
from Automoviles;
+---------+---------+
| Marca | Modelo
|
+---------+---------+
| Honda | CR-Z
|
| Nissan | 370Z
|
| Forg | Fiesta
|
| Ferrari | FF |
| Susuki | Swift
|
| Force | Camaro
|
| Force | Camaro
|
| Nissan | X-Trail |
| Nissan | X-Trail |
| Honda | Civic
|
+---------+---------+
10 rows in set (0.00 sec)
2- Mostrar el nombre de los modelos cuya función tenga el color Rojo.
Mysql> select Modelo from Automoviles where
Color=’Rojo’;
+---------+
| Modelo
|
+---------+
| FF
|
| X-Trail |
| X-Trail |
| Civic
|
+---------+
4 rows in set (0.00 sec)
3- Mostrar las matriculas que tengan la marca Nissan y Honda.
mysql> select Matricula from Automoviles
where Marca='Nissan' or Marca='Honda';
+-----------+
| Matricula |
+-----------+
|
2 |
|
12 |
| 78 |
|
20 |
|
74 |
+-----------+
5 rows in set (0.00 sec)
4- Mostrar los datos de todos los modelos que hay en la table llamada
Automoviles sin repeticiones.
mysql> select DISTINCT Modelo from
Automoviles;
+---------+
| Modelo
|
+---------+
| CR-Z
|
| 370Z
|
| Fiesta
|
| FF
|
| Swift
|
| Camaro
|
| X-Trail |
| Civic
|
+---------+
8 rows in set (0.03 sec)
5- Seleccionar el Color que Empiece con R.
mysql> select *from Automoviles where Color
like'R%';
+-----------+---------+---------+-------+
| Matricula | Marca | Modelo
| Color |
+-----------+---------+---------+-------+
| 52 | Ferrari | FF | Rojo
|
| 78 | Nissan | X-Trail | Rojo |
| 20 | Nissan | X-Trail | Rojo |
| 74 | Honda | Civic
| Rojo |
+-----------+---------+---------+-------+
4 rows in set (0.04 sec)
6- Seleccionar los datos de las Marcas cuya function sea el modelo
Civic o X-Trail.
mysql> Select Marca from Automoviles where
Modelo='Civic' In Modelo='X-Trail';
+--------+
| Marca
|
+--------+
| Nissan |
| Nissan |
| Honda
|
+--------+
3 rows in set (0.00 sec)
7- Mostrar los datos de las Matriculas 18-94 o 47-36 y que tenga el
color Azul metal.
Mysql> select *from Automoviles where
Matricula=’18-94’ and Matricula=’47-36’ or Color=’Azul_metal’;
+-----------+--------+--------+------------+
| Matricula | Marca | Modelo | Color |
+-----------+--------+--------+------------+
|
12 | Nissan | 370Z | Azul_metal
|
|
54 | Force | Camaro | Azul_metal
|
+-----------+--------+--------+------------+
2 rows in set, 11 warnings (0.00 sec)
8- Realizar una consulta donde muestre el numero de caracteres que hay
de los regidtros dentro del campo Modelo.
mysql> select LENGTH(Modelo) from Automoviles;
+----------------+
| LENGTH(Modelo) |
+----------------+
|
4 |
|
4 |
|
6 |
|
2 |
|
5 |
|
6 |
|
6 |
|
7 |
|
7 |
|
5 |
+----------------+
10 rows in set (0.04 sec)
9- Mostrar los datos de los Automóviles cuya función que ordene los
colores de manera descendentemente.
mysql> select *from Automoviles order by
Color desc;
+-----------+---------+---------+------------+
| Matricula | Marca | Modelo
| Color |
+-----------+---------+---------+------------+
|
74 | Honda | Civic | Rojo
|
|
20 | Nissan | X-Trail | Rojo |
|
52 | Ferrari | FF | Rojo |
|
78 | Nissan | X-Trail | Rojo |
|
47 | Forg | Fiesta | negro
|
|
2 | Honda | CR-Z | Gris
|
|
23 | Susuki | Swift | Gris
|
|
12 | Nissan | 370Z | Azul_metal |
|
54 | Force | Camaro | Azul_metal |
|
18 | Force | Camaro | Amarillo
|
+-----------+---------+---------+------------+
10 rows in set (0.00 sec)
10- Obtener los Modelos en Mayusculas.
mysql> select UPPER(Modelo) from
AUTOMOVILES;
+---------------+
| UPPER(Modelo) |
+---------------+
| CR-Z
|
| 370Z
|
| FIESTA
|
| FF
|
| SWIFT
|
| CAMARO
|
| CAMARO
|
| X-TRAIL
|
| X-TRAIL
|
| CIVIC
|
+---------------+
10 rows in set (0.00 sec)
Base
de Datos: Escuela
Tabla:
Profesores.
Consultas
de selección.
1- Obtener el RFC,
Nombre,Apellido_Paterno,Apellido_Materno,Fecha_de_Nac de la tabla llamada
Profesores.
mysql> select
RFC,Nombre,Apellido_Paterno,Apellido_Materno,Fecha_de_Nac from Profesores;
+-------+-----------+------------------+------------------+--------------+
| RFC | Nombre
| Apellido_Paterno | Apellido_Materno | Fecha_de_Nac |
+-------+-----------+------------------+------------------+--------------+
| 15203 | Gilberto | Perez
| Sanchez | 1974/07/20 |
| 8632 | Maria | Esther | Jacobo | 1974/05/07 |
| 13629 | Edwin | Rodriguez | Alvarez | 1975/11/15 |
| 13629 | Yolanda | Rivas | Romero | 1989/11/12 |
| 64744 | Edith | Martinez | Hernandez | 1980/08/12 |
| 64744 | Edith | Martinez | Hernandez | 1980/08/12 |
| 11120 | Andres | Razo | Guzman | 1964/21/21 |
| 11120 | Nelida |
Alvarez | Blancas | 1976/04/06 |
| 34567 | Marisol | Reyes | Moreno | 1981/03/31 |
| 12345 | Viridiana |
Rosas | Gonzalez | 1987/08/30 |
+-------+-----------+------------------+------------------+--------------+
10 rows in set (0.01 sec)
2- Mostrar los nombres de los Profesores que vivan en Atizapan de
Zaragoza.
mysql> select Nombre from
Profesores where Direccion='Atizapan_de_Zaragoza';
+----------+
| Nombre
|
+----------+
| Gilberto |
| Marisol
|
+----------+
2 rows in set (0.01 sec)
3-Mostrar el Rfc de los profesores que vivan en Naucalpan de Juarez o
Tlalnepantla.
mysql> select RFC from
Profesores where Direccion='Naucalpan_de_Juarez' or Direc
cion='Tlalnepantla';
+-------+
| RFC |
+-------+
| 64744 |
| 64744 |
| 11120 |
| 11120 |
+-------+
4 rows in set (0.00 sec)
4- Mostrar los nombres que tengan las siguientes fecha de Nacimiento
son 1974/07/20 y 1974/05/07.
mysql> select Nombre from
Profesores where Fecha_de_nac='1974/07/20' and Fecha_de_nac='1974/05/07';
+----------+
| Nombre
|
+----------+
| Gilberto |
| Maria
|
+----------+
2 rows in set (0.02 sec)
5- Mostrar los Apellidos maternos de la table Profesores y ordenarlos
ascedentemente.
mysql> select
Apellido_materno from Profesores order by Apellido_materno;
+------------------+
| Apellido_materno |
+------------------+
| Alvarez |
| Blancas |
| Gonzalez |
| Guzman |
| Hernandez |
| Hernandez |
| Jacobo |
| Moreno |
| Romero |
| Sanchez |
+------------------+
10 rows in set (0.00 sec)
6- Mostrar las Direcciones sin repeticiones.
mysql> select DISTINCT Direccion from
Profesores;
+-----------------------+
| Direccion |
+-----------------------+
| Atizapan_de_Zaragoza |
| Tultitlan |
| DF |
| Nicolas_Romero |
| Tlalnepantla |
| Naucalpan_de_Zaragoza |
+-----------------------+
6 rows in set (0.00 sec)
7- Seleccionar aquellos Profesores que empiecen en su Apellido_paterno
con la letra R
mysql> select *from Profesores where
Apellido_paterno like'R%';
+-------+-----------+------------------+------------------+--------------+------
---------+-----------------------+------------+
| RFC | Nombre
| Apellido_Paterno | Apellido_Materno | Fecha_de_nac | Codig
o_Postal | Direccion | telefono |
+-------+-----------+------------------+------------------+--------------+------
---------+-----------------------+------------+
| 13629 | Edwin | Rodriguez | Alvarez | 1975/11/15 |
64515 | DF | 2147483647 |
| 13629 | Yolanda | Rivas | Romero | 1989/11/12 |
23783 | Nicolas_Romero | 2147483647 |
| 11120 | Andres | Razo | Guzman | 1964/21/21 |
54563 | Tlalnepantla | 2147483647 |
| 34567 | Marisol | Reyes | Moreno | 1981/03/31 |
55678 | Atizapan_de_Zaragoza | 2147483647 |
| 12345 | Viridiana |
Rosas | Gonzalez | 1987/08/30 |
55343 | Naucalpan_de_Zaragoza | 2147483647 |
+-------+-----------+------------------+------------------+--------------+------
---------+-----------------------+------------+
5 rows in set (0.00 sec)
8- Seleccionar el nombre y te da el numero de letras que tiene el
nombre.
mysql> select LENGTH(NOMBRE) from
Profesores;
+----------------+
| LENGTH(NOMBRE) |
+----------------+
| 8 |
| 5 |
| 5 |
| 7 |
| 5 |
| 5 |
| 6 |
| 6 |
| 7 |
| 9 |
+----------------+
10 rows in set (0.00 sec)
9- Realizar una consulta donde el nombre te lo
ponga en minusculas.
mysql> select LOWER(Direccion) from Profesores;
+-----------------------+
|
LOWER(Direccion) |
+-----------------------+
|
atizapan_de_zaragoza |
|
tultitlan |
| df |
|
nicolas_romero |
|
tlalnepantla |
| tlalnepantla |
|
tlalnepantla |
|
tlalnepantla |
|
atizapan_de_zaragoza |
|
naucalpan_de_zaragoza |
+-----------------------+
10 rows in
set (0.00 sec)
10- Poner en Matyusculas el Apellido
Materno de la tabla Profesores;
mysql> select
UPPER(Apellido_materno) from Profesores;
+-------------------------+
|
UPPER(Apellido_materno) |
+-------------------------+
|
SANCHEZ |
|
JACOBO |
|
ALVAREZ |
|
ROMERO |
| HERNANDEZ
|
|
HERNANDEZ |
|
GUZMAN |
|
BLANCAS |
|
MORENO |
|
GONZALEZ |
+-------------------------+
10 rows in set (0.00 sec)
Prácticas
Práctica #2
Diseño Físico de la Base de Datos mediante sentencias
SQL.
Enter
password: ***
Welcome
to the MySQL monitor. Commands end with
; or \g.
Your
MySQL connection id is 1
Server
version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type
'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
create database Bibliotecas;
Query
OK, 1 row affected (0.08 sec)
mysql>
use Bibliotecas;
Database
changed
mysql>
create table autor(codigo integer,nombre varchar(20),primary key(codigo))
;
Query
OK, 0 rows affected (0.05 sec)
mysql>
select *from autor;
Empty
set (0.00 sec)
mysql> create table libro(codigo integer,titulo
varchar(20),ISBN integer,editori
al varchar(20),paginas integer,primary key(codigo));
Query
OK, 0 rows affected (0.03 sec)
mysql>
select *from libro;
Empty
set (0.00 sec)
mysql> create table ejemplar(codigo
integer,localizacion varchar(20),primary key
(codigo));
Query
OK, 0 rows affected (0.01 sec)
mysql>
select *from ejemplar;
Empty
set (0.00 sec)
mysql> create table usuario(codigo integer,nombre
varchar(20),telefono integer,d
ireccion varchar(30),primary key(codigo));
Query
OK, 0 rows affected (0.03 sec)
mysql>
select *from usuario;
Empty
set (0.00 sec)
mysql> create table escribe(codigo_autor integer,codigo_libro
integer,primary ke
y(codigo_autor));
Query
OK, 0 rows affected (0.02 sec)
mysql>
select *from escribe;
Empty set (0.01 sec)
mysql> create table saca(codigo_usuario
integer,codigo_ejemplar integer,fecha_de
_devolucion integer,fecha_prestamo integer,primary
key(codigo_usuario));
Query
OK, 0 rows affected (0.06 sec)
mysql>
select *from saca;
Empty
set (0.01 sec)
mysql>
create table temporal(codigo integer,prueba varchar(10),primary key(codig
o));
Query
OK, 0 rows affected (0.02 sec)
mysql>
select *from temporal;
Empty
set (0.00 sec)
mysql>
create table borrar(codigo integer,prueba varchar(10),primary key(codigo)
);
Query
OK, 0 rows affected (0.02 sec)
mysql>
select *from borrar;
Empty
set (0.00 sec)
mysql>
drop table borrar;
Query OK,
0 rows affected (0.03 sec)
mysql>
show tables;
+-----------------------+
|
Tables_in_bibliotecas |
+-----------------------+
| autor
|
| ejemplar
|
| escribe
|
| libro
|
| saca
|
|
temporal |
|
usuario |
+-----------------------+
7 rows
in set (0.05 sec)
mysql>
Práctica #3
Eliminación y Modificación de la estructura de la base de
datos mediante sentencias SQL.
Enter password: ***
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 6.0.4-alpha-community-log MySQL
Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to
clear the buffer.
mysql> use Bibliotecas;
Database changed
mysql>
drop table borrar;
Query
OK, 0 rows affected (0.03 sec)
mysql>
show tables;
+-----------------------+
|
Tables_in_bibliotecas |
+-----------------------+
| autor
|
| ejemplar
|
| escribe
|
| libro
|
| saca
|
|
temporal |
|
usuario |
+-----------------------+
7 rows
in set (0.05 sec)
mysql>
mysql> alter table libro
add Fecha_de_edicion integer;
Query OK, 1 row affected (0.20 sec)
Records: 1
Duplicates: 0 Warnings: 0
mysql> insert into libro
values('001','El_Esclavo','654','Mexbook','200','2013');
Query OK, 1 row affected (0.00 sec)
mysql> select *from libro;
+--------+------------+------+-----------+---------+------------------+
| codigo | titulo | isbn | editorial | paginas |
Fecha_de_edicion |
+--------+------------+------+-----------+---------+------------------+
| 1 | El_Esclavo | 654 | Mexbook |
200 | NULL |
| 1 | El_Esclavo | 654 | Mexbook |
200 | 2013 |
+--------+------------+------+-----------+---------+------------------+
2 rows in set (0.00 sec)
mysql> drop table usuario;
Query OK, 0 rows affected (0.01 sec)
mysql> create table
usuario(codigo integer,nombre varchar(20),telefono integer,calle
varchar(30),numero integer,colonia varchar(20),codigo_postal integer);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into usuario values('34','Fernando_Gomez','5546648988','Popocatepe
tl','37','San_Miguel_Xochimanga','54678');
Query OK, 1 row affected, 2 warnings (0.00 sec)
mysql> select *from
usuario;
+--------+----------------+------------+--------------+--------+----------------
------+---------------+
| codigo | nombre | telefono | calle | numero | colonia | codigo_postal |
+--------+----------------+------------+--------------+--------+----------------
------+---------------+
| 34 | FerDonando_Gomez | 2147483647 |
Popocatepetl | 37 | San_Miguel_Xochimanga
| 54678 |
Practicas (Disparadores)
Practica
# 1 Tema Disparadores.
Enter password: ***
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.0.51b-community-nt-log MySQL
Community Edition (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear
the buffer.
mysql> create
database dbclientes;
Query OK, 1 row affected (0.08 sec)
mysql> use
dbclientes;
Database changed
mysql> create
table tbclientes(codigo_cli int primary key,nombre_cli varchar(250),trabajo_cli
varchar(250));
Query OK, 0 rows affected (0.09 sec)
mysql> describe
tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field
| Type | Null | Key |
Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli
| int(11) | NO | PRI | NULL |
|
| nombre_cli
| varchar(250) | YES | | NULL
| |
| trabajo_cli | varchar(250) |
YES |
| NULL | |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.06 sec)
mysql> insert into tbclientes(codigo_cli,nombre_cli,trabajo_cli)
values(1,'Edith
_Martinez_Hernandez','Informatica'),(2,'Juan_Carmona_Hernandez','Control_de_la_contaminacion'),(3,'Fernanda_Lopez_Perez','Productividad');
Query OK, 3 rows affected (0.05 sec)
Records: 3
Duplicates: 0 Warnings: 0
mysql> select
*from tbclientes;
+------------+--------------------------+-----------------------------+
| codigo_cli | nombre_cli | trabajo_cli |
+------------+--------------------------+-----------------------------+
| 1 | Edith_Martinez_Hernandez |
Informatica |
| 2 | Juan_Carmona_Hernandez | Control_de_la_contaminacion |
| 3 | Fernanda_Lopez_Perez | Productividad |
+------------+--------------------------+-----------------------------+
3 rows in set (0.00 sec)
mysql> create table copiaclientes(codigo_cop int primary key,nombre_cop
varchar(50),trabajo_cop varchar(50),usuario varchar(50),modificado_cop
datetime);
Query OK, 0 rows affected (0.07 sec)
mysql> describe
tbclientes;
+-------------+--------------+------+-----+---------+-------+
| Field
| Type | Null | Key |
Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| codigo_cli
| int(11) | NO | PRI | NULL |
|
| nombre_cli
| varchar(250) | YES | | NULL
| |
| trabajo_cli | varchar(250) |
YES |
| NULL | |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.01 sec)
mysql> delimiter //
mysql> create trigger nuevocliente after insert on tbclientes for each row
begin insert into
tbcopiaclientes(codigo_cop,nombre_cop,trabajo_cop,usuario_cop,modificado_cop)
values(new.codigo_cli,new.nombre_cli,new.trabajo_cli,CURRENT_USER(),now());
-> end;
-> //
Query OK, 0 rows affected (0.07 sec)
mysql> show
triggers;
mysql> insert
into tbclientes() values(4,'Carlos_Manuel_Zavala','Informatica')//
Query OK, 1 row affected (0.09 sec)
mysql> select *from tbclientes//
+------------+--------------------------+-----------------------------+
| codigo_cli | nombre_cli | trabajo_cli |
+------------+--------------------------+-----------------------------+
| 1 | Edith_Martinez_Hernandez |
Informatica |
| 2 | Juan_Carmona_Hernandez | Control_de_la_Contaminacion |
| 3 | Fernanda_Lopez_Perez | Productividad |
| 4 | Carlos_Manuel_Zavala | Informatica |
+------------+--------------------------+-----------------------------+
4 rows in set (0.00 sec)
mysql> select
*from tbcopiaclientes//
+------------+----------------------+-------------+----------------+---------------------+
| codigo_cop | nombre_cop | trabajo_cop | usuario_cop | modificado_
cop |
+------------+----------------------+-------------+----------------+---------------------+
| 4 | Carlos_Manuel_Zavala | Informatica
| root@localhost | 2014-05-16 11:50:22 |
+------------+----------------------+-------------+----------------+---------------------+
1 row in set (0.00 sec)
Practica #2
Disparadores.
Enter password: ***
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database pruebas_dispara;
Query OK, 1 row affected (0.00 sec)
mysql> use pruebas_dispara;
Database changed
mysql> create table clientes(id_cliente int not null auto_increment,nombre
varchar(100),seccion varchar(20),Accion varchar(10) default 'Insertado',primary
key(id_cliente),key(nombre));
Query OK, 0 rows affected (0.03 sec)
mysql> describe clientes;
+------------+--------------+------+-----+-----------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+-----------+----------------+
| id_cliente | int(11) |
NO | PRI | NULL | auto_increment |
| nombre | varchar(100) |
YES | MUL | NULL | |
| seccion | varchar(20) | YES
| | NULL | |
| Accion | varchar(10) | YES
| | Insertado | |
+------------+--------------+------+-----+-----------+----------------+
4 rows in set (0.01 sec)
mysql> insert into
clientes(nombre,seccion) values('Miguel','Informatica'),('Ros
a','comida'),('Maria','ropa'),('Albert','Informatica'),('Jordi','comida');
Query OK, 5 rows affected (0.04 sec)
Records: 5 Duplicates: 0 Warnings: 0
mysql> select *from clientes;
+------------+--------+-------------+-----------+
| id_cliente | nombre | seccion | Accion
|
+------------+--------+-------------+-----------+
| 1 | Miguel | Informatica | Insertado
|
| 2 | Rosa | comida
| Insertado |
|
3 | Maria | ropa
| Insertado |
| 4 | Albert | Informatica | Insertado
|
| 5 | Jordi | comida
| Insertado |
+------------+--------+-------------+-----------+
5 rows in set (0.00 sec)
mysql> create table auditoria_clientes(id int not null
auto_increment,nombre_anterior varchar(100),seccion_anterior
varchar(20),nombre_nuevo varchar(100),seccion_nueva varchar(20),usuario
varchar(40),modificado datetime,proceso varchar(10),Id_cliente int(4),primary
key(id));
Query OK, 0 rows affected (0.01 sec)
mysql> describe
auditoria_clientes;
+------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+----------------+
| id | int(11) | NO
| PRI | NULL | auto_increment |
| nombre_anterior | varchar(100)
| YES | | NULL
| |
| seccion_anterior | varchar(20) | YES
| | NULL | |
| nombre_nuevo | varchar(100) | YES | |
NULL | |
| seccion_nueva | varchar(20) | YES
| | NULL | |
| usuario | varchar(40) | YES
| | NULL | |
| modificado | datetime | YES
| | NULL | |
| proceso | varchar(10) | YES
| | NULL | |
| Id_cliente | int(4) | YES
| | NULL | |
+------------------+--------------+------+-----+---------+----------------+
9 rows in set (0.01 sec)
mysql> delimiter //
mysql> create trigger Inserta_auditoria_clientes after insert on clientes for
each row begin insert intoauditoria_clientes(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,Id_cliente)values
(new.nombre,new.seccion,CURRENT<_USER(),NOW(),NEW.Accion,new.id_cliente);
-> end;
-> //
Query OK, 0 rows affected (0.17 sec)
mysql> create trigger
Modifica_auditoria_clientes BEFORE UPDATE ON clientes for each row begin insert
into auditoria_clientes(nombre_anterior,seccion_anterior,n
ombre_nuevo,seccion_nueva,usuario,modificado,Id_cliente)values(OLD.nombre,OLD.seccion,new.nombre,new.seccion,CURRENT_USER(),NOW(),new.id_cliente);
-> end;
-> //
Query OK, 0 rows affected (0.04 sec)
mysql> create trigger
Elimina_auditoria_clientes after delete on clientes for ea
ch row begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,usu
ario,modificado,Id_Cliente)values (OLD.nombre,OLD.seccion,CURRENT_USER(),NOW(),O
LD.id_cliente);
-> end;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql> DELIMITER ;
mysql> SHOW TRIGGERS;
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
| Trigger |
Event | Table | Statement
| Timing | Created | sql_mode
| Definer |
character_set_client | collation_connection | Database Collation |
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
| Inserta_auditoria_clientes | INSERT | clientes | begin insert into
auditoria_clientes(nombre_nuevo,seccion_nueva,usuario,modificado,proceso,Id_cliente)values
(new.nombre,new.seccion,CURRENT<_USER(),NOW(),NEW.Accion,new.id_cliente);
end
| AFTER | NULL | NO_AUTO_CREATE_USER
,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 | utf8_general_ci | utf8_general_ci |
| Modifica_auditoria_clientes | UPDATE
| clientes | begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,nombre_nuevo,seccion_nueva,usuario,mod
ificado,Id_cliente)values(OLD.nombre,OLD.seccion,new.nombre,new.seccion,CURRENT_USER(),NOW(),new.id_cliente);
end | BEFORE | NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@local
host | utf8 |
utf8_general_ci |
utf8_general_ci ||
Elimina_auditoria_clientes | DELETE |
clientes | begin insert into
auditoria_clientes(nombre_anterior,seccion_anterior,usuario,modificado,Id_Cliente)values
(OLD.nombre,OLD.seccion,CURRENT_USER(),NOW(),OLD.id_cliente);
end
| AFTER | NULL |
NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | root@localhost | utf8 |
utf8_general_ci | utf8_general_ci |
+-----------------------------+--------+----------+-----------------------------
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
-----------------------------------+--------+---------+-------------------------
-------------------+----------------+----------------------+--------------------
--+--------------------+
3 rows in set (0.01 sec)
mysql> insert into
clientes(nombre,seccion) values('Edith_Martinez','Informatica');
Query OK, 1 row affected (0.01 sec)
mysql> select *from clientes;
+------------+----------------+-------------+-----------+
| id_cliente | nombre |
seccion | Accion |
+------------+----------------+-------------+-----------+
| 1 | Miguel | Informatica | Insertado |
| 2 | Rosa | comida | Insertado |
| 3 | Maria | ropa | Insertado |
| 4 | Albert | Informatica | Insertado |
| 5 | Jordi | comida | Insertado |
| 6 | Edith_Martinez | Informatica |
Insertado |
| 7 | Edith_Martinez | Informatica |
Insertado |
| 8 | Edith_Martinez | Informatica |
Insertado |
| 9 | Edith_Martinez | Informatica | Insertado
|
| 10 | Edith_Martinez |
Informatica | Insertado |
+------------+----------------+-------------+-----------+
10 rows in set (0.00 sec)
mysql> select *from
auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id | nombre_anterior |
seccion_anterior | nombre_nuevo |
seccion_nueva | usuario |
modificado | proceso | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
|
1 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2014-05-16
10:21:00 | Insertado | 10 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
1 row in set (0.03 sec)
mysql> update clientes set
nombre='JORDI_APOLINAR',SECCION='PRODUCTIVIDAD' WHERE ID_CLIENTE=5;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> select *from clientes;
+------------+----------------+---------------+-----------+
| id_cliente | nombre | seccion | Accion |
+------------+----------------+---------------+-----------+
| 1 | Miguel | Informatica | Insertado |
| 2 | Rosa | comida | Insertado |
| 3 | Maria | ropa | Insertado |
| 4 | Albert | Informatica | Insertado |
| 5 | JORDI_APOLINAR | PRODUCTIVIDAD |
Insertado |
| 6 | Edith_Martinez | Informatica | Insertado |
| 7 | Edith_Martinez | Informatica | Insertado |
| 8 | Edith_Martinez | Informatica | Insertado |
| 9 | Edith_Martinez | Informatica | Insertado |
| 10 | Edith_Martinez | Informatica | Insertado |
+------------+----------------+---------------+-----------+
10 rows in set (0.00 sec)
mysql> select *from
auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----
------------+---------------------+-----------+------------+
| id | nombre_anterior |
seccion_anterior | nombre_nuevo |
seccion_nueva | usuario |
modificado | proceso | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
|
1 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost |
2014-05-16 10:21:00 | Insertado |
10 |
|
2 | Jordi | comida | JORDI_APOLINAR | PRODUCTIVIDAD |
root@localhost | 2014-05-16 10:24:11 | NULL
| 5 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
2 rows in set (0.00 sec)
mysql> delete from clientes
where nombre='Edith_Martinez';
Query OK, 5 rows affected (0.00 sec)
mysql> select *from clientes;
+------------+----------------+---------------+-----------+
| id_cliente | nombre |
seccion | Accion |
+------------+----------------+---------------+-----------+
| 1 | Miguel | Informatica | Insertado |
| 2 | Rosa | comida | Insertado |
| 3 | Maria | ropa | Insertado |
| 4 | Albert | Informatica | Insertado |
| 5 | JORDI_APOLINAR | PRODUCTIVIDAD | Insertado
|
+------------+----------------+---------------+-----------+
5 rows in set (0.00 sec)
mysql> select *from
auditoria_clientes;
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+-----------+------------+
| id | nombre_anterior |
seccion_anterior | nombre_nuevo |
seccion_nueva | usuario |modificado | proceso | Id_cliente |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+----------+------------+
|
1 | NULL | NULL | Edith_Martinez |
Informatica | root@localhost | 2014-05-16
10:21:00 | Insertado | 10 || 2 | Jordi | comida | JORDI_APOLINAR | PRODUCTIVIDAD |
root@localhost | 201405-16 10:24:11 | NULL
| 5 |
+----+-----------------+------------------+----------------+---------------+----------------+---------------------+--------+------------+
Practica #11 Consultas de selección de registros.
1- Verifica que el equipo de cómputo se encuentra conectado.
2- Enciende equipo de cómputo.
3- Abre sesión de ambiente grafico (mysql).
4- Ingresa al Sistema Gestor de Bases de Datos.
5- Selecciona la base de datos Biblioteca.
6- Realiza una consulta de selección en el que muestre todos los
registros de la tabla Libros.
mysql> select *from
Libros;
+--------+------------+------------------+------------------+
| codigo | titulo |
autor | fecha_de_edicion |
+--------+------------+------------------+------------------+
| 1 | Hobbit | Rafael_Mendez | 2013 |
| 2 | Sombras | Leticia_Serrano | 2011 |
| 3 | Se | Wiliams_Jackson | 2012 |
| 4 | Hegs | Edgar_Alarcon | 2009 |
| 5 | El_esclavo |
Salvador_Gaviota | 2013 |
+--------+------------+------------------+------------------+
5 rows in set (0.00 sec)
7. Realiza una consulta donde muestre los autores de cada libro.
mysql> select autor from
Libros;
+------------------+
| autor |
+------------------+
| Rafael_Mendez |
| Leticia_Serrano |
| Wiliams_Jackson |
| Edgar_Alarcon |
| Salvador_Gaviota |
+------------------+
5 rows in set (0.00 sec)
8. Realiza una consulta en la que
muestre el título del libro, las páginas y año de edición de cada libro.
mysql> select
titulo,paginas fecha_de_edicion from Libros;
+------------+------------------+
| titulo |
fecha_de_edicion |paginas|
+------------+------------------+
| Hobbit | 2013 |200|
| Sombras | 2011 |400|
| Se | 2012 |566|
| Hegs | 2009 |450|
| El_esclavo | 2013
|130|
+------------+------------------+
5 rows in set (0.00 sec)
9. Realiza una consulta en la que
muestre el titulo del libro, y año de edición de un libro en particular.
mysql> select titulo,fecha_de_edicion from Libros where titulo='Hobbit' or
fecha_de_edicion='2009';
+--------+------------------+
| titulo | fecha_de_edicion |
+--------+------------------+
| Hobbit | 2013 |
+--------+------------------+
10- Terminamos Práctica.
SOLUCION PRACTICA: 11 MANEJO DE DISPARADORES CON
CRITERIOS DE SELECCION.
Enter password: ***
Welcome to the MySQL monitor.
Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> create database
biblioteca;
Query OK, 1 row affected (0.01 sec)
mysql> use biblioteca;
Database changed
mysql> create table
autor(codigo int not null auto_increment primary key,nombre varchar(30));
Query OK, 0 rows affected (0.01 sec)
mysql> describe autor;
+--------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+----------------+
| codigo | int(11) | NO
| PRI | NULL | auto_increment |
| nombre | varchar(30) | YES
| | NULL | |
+--------+-------------+------+-----+---------+----------------+
2 rows in set (0.02 sec)
mysql> create table
libros(codiogo int not null auto_increment primary key,titulo varchar(30),ISBN
varchar(30),editorial varchar(30),num_paginas int);
Query OK, 0 rows affected (0.02 sec)
mysql> describe libros;
+-------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+----------------+
| codiogo | int(11) | NO
| PRI | NULL | auto_increment |
| titulo | varchar(30) | YES | |
NULL | |
| ISBN | varchar(30) | YES | |
NULL | |
| editorial | varchar(30) | YES | |
NULL | |
| num_paginas | int(11) | YES
| | NULL | |
+-------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> create table usuarios(codigo_usuario int not null auto_increment
primary key,nombre varchar(30),direccion varchar(50),telefono
varchar(30),codigo_ejemplar int);
Query OK, 0 rows affected (0.01 sec)
mysql> describe usuarios;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| codigo_usuario | int(11)
| NO | PRI | NULL | auto_increment |
| nombre | varchar(30) | YES | |
NULL | |
| direccion | varchar(50) | YES | |
NULL | |
| telefono | varchar(30) | YES | |
NULL | |
| codigo_ejemplar | int(11) | YES
| | NULL | |
+-----------------+-------------+------+-----+---------+----------------+
5 rows in set (0.01 sec)
mysql> create table
ejemplares(codigo_ejemplar int not null auto_increment primary key,localizacion
varchar(30));
Query OK, 0 rows affected (0.01 sec)
mysql> describe ejemplares;
+-----------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+-------------+------+-----+---------+----------------+
| codigo_ejemplar | int(11) | NO
| PRI | NULL | auto_increment |
| localizacion | varchar(30) |
YES |
| NULL | |
+-----------------+-------------+------+-----+---------+----------------+
2 rows in set (0.01 sec)
mysql> insert into usuarios(nombre,direccion,telefono,codigo_ejemplar)
values('miguel','ave_signos_23','53221234',3),('pedro','calle_tulipanes','54321234',4),('amanda','ave.constelacion','56432345',5);
Query OK, 3 rows affected (0.00 sec)
Records: 3 Duplicates: 0
Warnings: 0
mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre |
direccion | telefono |
codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 2 | pedro | calle_tulipanes | 54321234 | 4 |
| 3 | amanda |
ave.constelacion | 56432345 |
5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in set (0.00 sec)
mysql> create table
copia_usuario(codigo int not null auto_increment primary key ,nombre_ant
varchar(30),direccion_anterior varchar(50),telefono_anterior varchar
(50),codigo_ejemplar_anterior
int,nombre_nuevo varchar(30),direccion_nueva varch
ar(50),telefono_nuevo
varchar(30),codigo_ejemplar_nuevo int,usuario varchar(40),
modificado
datetime,codigo_usuario int (4));
Query OK, 0 rows affected (0.01 sec)
mysql> describe copia_usuario;
+--------------------------+-------------+------+-----+---------+---------------
-+
| Field |
Type | Null | Key | Default |
Extra
|
+--------------------------+-------------+------+-----+---------+---------------
-+
| codigo | int(11) | NO
| PRI | NULL | auto_increment
|
| nombre_ant | varchar(30) | YES | |
NULL |
|
| direccion_anterior | varchar(50) | YES | |
NULL |
|
| telefono_anterior | varchar(50) | YES | |
NULL |
|
| codigo_ejemplar_anterior |
int(11) | YES | |
NULL |
|
| nombre_nuevo | varchar(30) | YES | |
NULL |
|
| direccion_nueva | varchar(50) | YES | |
NULL |
|
| telefono_nuevo | varchar(30) | YES | |
NULL |
|
| codigo_ejemplar_nuevo | int(11) | YES
| | NULL |
|
| usuario | varchar(40) | YES | |
NULL |
|
| modificado | datetime | YES
| | NULL |
|
| codigo_usuario | int(4) | YES
| | NULL |
|
+--------------------------+-------------+------+-----+---------+---------------
-+
12 rows in set (0.02 sec)
mysql> delimiter //
mysql> create TRIGGER
Elimina_usuarios_ejemplares AFTER DELETE ON usuarios FOR EACH ROW BEGIN insert
into copia_usuario(nombre_ant,direccion_anterior,telefono_a
nterior,codigo_ejemplar_anterior,usuario,modificado,codigo_usuario)VALUES
(OLD.nombre,OLD.direccion,OLD.telefono,OLD.codigo_ejemplar,CURRENT_USER(),NOW(),OLD.Codigo_usuario);
-> END;
-> //
Query OK, 0 rows affected (0.02 sec)
mysql> delimiter ;
mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre |
direccion | telefono |
codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 2 | pedro | calle_tulipanes | 54321234 | 4 |
| 3 | amanda |
ave.constelacion | 56432345 | 5 |
+----------------+--------+------------------+----------+-----------------+
3 rows in set (0.01 sec)
mysql> delete from usuarios where codigo_ejemplar=4;
Query OK, 1 row affected (0.11 sec)
mysql> select *from usuarios;
+----------------+--------+------------------+----------+-----------------+
| codigo_usuario | nombre |
direccion | telefono |
codigo_ejemplar |
+----------------+--------+------------------+----------+-----------------+
| 1 | miguel | ave_signos_23 | 53221234 | 3 |
| 3 | amanda | ave.constelacion |
56432345 | 5 |
+----------------+--------+------------------+----------+-----------------+
2 rows in set (0.00 sec)
mysql> select *from
copia_usuario;
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-------------------
----+----------------+---------------------+----------------+
| codigo | nombre_ant | direccion_anterior
| telefono_anterior | codigo_ejemplar_anterior | nombre_nuevo | direccion_nueva
| telefono_nuevo | codigo_ejemplar_nuevo | usuario | modificado | codigo_usuario |
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-----------------------+----------------+---------------------+----------------+
|
1 | pedro |
calle_tulipanes | 54321234 |
4 | NULL | NULL | NULL | NULL | root@localhost |
2014-05-17 03:58:58 | 2 |
+--------+------------+--------------------+-------------------+----------------
----------+--------------+-----------------+----------------+-------------------
----+----------------+---------------------+----------------+
1 row in set (0.02 sec)