Manejo de fechas crear la siguiente base de datos Create database fechas; use fecha; mysql> create table ejercicio -> (codigo char(10) primary key,nombre char(30), sexo char(10), nacimiento date, hijos char(2)); Query OK, 0 rows affected (0.08 sec) mysql> describe ejercicio; +------------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +------------+----------+------+-----+---------+-------+ | codigo | char(10) | YES | | NULL | | | nombre | char(30) | YES | | NULL | | | sexo | char(10) | YES | | NULL | | | nacimiento | date | YES | | NULL | | | hijos | char(2) | YES | | NULL | | +------------+----------+------+-----+---------+-------+ 5 rows in set (0.09 sec) mysql> insert into ejercicio(codigo,nombre,sexo,nacimiento,hijos) values('22663355','Angel Cuadrado','hombre','1966-05-13','0'); Query OK, 1 row affected (0.00 sec) ingresar todos estos datos +------------+-------------------+--------+------------+-------+ | codigo | nombre | sexo | nacimiento | hijos | +------------+-------------------+--------+------------+-------+ | 22663355 | Angel Cuadrado | hombre | 1966-05-13 | 0 | | 1188996633 | Yoreida Mar?a | mujer | 1978-03-05 | 2 | | 4488663322 | Jorge Fuentes | hombre | 1980-06-22 | 2 | | 0022559966 | Eder Pulgar | hombre | 1960-02-20 | 6 | | 0822559966 | Mariana Gonzalez | mujer | 1982-03-24 | 1 | | 556959966 | Angela Ruiz | mujer | 1977-11-15 | 1 | | 0028957446 | Juan Carlos Serpa | hombre | 1982-11-25 | 2 | | 9999957446 | Carlota Sonora | mujer | 1985-11-03 | 4 | +------------+-------------------+--------+------------+-------+ COMANDO PARA EL AMNEJO DE FECHAS Muestra la fecha del sistema current_date select current_date(); muestra la fecha del sistema mysql> select current_date(); +----------------+ | current_date() | +----------------+ | 2010-11-30 | +----------------+ Year select year (current_date()); +----------------+ | current_date() | +----------------+ | 2010 | +----------------+ month select month(current_date()); +----------------+ | current_date() | +----------------+ | 12 | +----------------+ day select day(current_date()); +----------------+ | current_date() | +----------------+ | 01 | +----------------+ puede hacer intervales de dias, meses o años intervalo de 15 dias mysql> select date_add(current_date(),interval 6 year); 3 mese 3 month 6 años 6 year imprimir la feha del sistema MariaDB [cumple]> select date_format(now(),'%h:%i:%s %p'); +----------------------------------+ | date_format(now(),'%h:%i:%s %p') | +----------------------------------+ | 04:04:28 PM | +----------------------------------+ 1 row in set (0.02 sec) COMANDOS date_add o adddate para saber cuantos dia hemos vivido en la faz de la tierra mysql> select datediff(current_date(),'1970-03-22'); cuantos dias tengo hoy datediff arroja resultado o diferencia en dias a?o, mes dia En la base de datos cumple para saber cuantos años tiene cada uno a la fecha mysql> select nombre, year(current_date()) - year(nacimiento) from ejercicio; muestra la edad aproximada con un alias seria asi mysql> select nombre, year(current_date()) - year(nacimiento) 'edad' from ejercicio; +-------------------+------+ | nombre | edad | +-------------------+------+ | carlos ramirez | 41 | | marina ruiz | 32 | | veronica gonzalez | 28 | | isabel betancur | 33 | | gladys bermudez | 31 | | sandra henao | 28 | | mario gomez | 28 | | andrea gutierrez | 25 | | carlos sepulveda | 36 | | fernando perez | 30 | | juliana arredondo | 22 | +-------------------+------+ visualizar las personas cuyo nombre termina en a y el sexo sea mujer mysql> select nombre from ejercicio where sexo='mujer' and nombre like '%a'; +----------------+ | nombre | +----------------+ | Yoreida Mar?a | | Carlota Sonora | +----------------+ 2 rows in set (0.02 sec) cuantas personas son mujeres y su nombre termina en a mysql> select count(*) from ejercicio where sexo='mujer' and nombre like '%a'; +----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.00 sec) cuantas persona nacieron entre 1960 y 1969 mysql> select count(*) from ejercicio where year(nacimiento) between '1960'and 1969; +----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.03 sec) visualizar toda la informacion de las personas que tienen entre 34 y 37 años mysql> select * from ejercicio where year(current_date()) - year(nacimiento) between '34' and '37'; +------------+-------------------+--------+------------+-------+ | codigo | nombre | sexo | nacimiento | hijos | +------------+-------------------+--------+------------+-------+ | 1188996633 | Yoreida Mar?a | mujer | 1978-03-05 | 2 | | 4488663322 | Jorge Fuentes | hombre | 1980-06-22 | 2 | | 0822559966 | Mariana Gonzalez | mujer | 1982-03-24 | 1 | | 0028957446 | Juan Carlos Serpa | hombre | 1982-11-25 | 2 | +------------+-------------------+--------+------------+-------+ 4 rows in set (0.01 sec) calcular el total de hijos mysql> select sum(hijos) from ejercicio; +------------+ | sum(hijos) | +------------+ | 18 | +------------+ 1 row in set (0.00 sec) contar y agrupar la informacion por numero de hijos mysql> select hijos,count(*) from ejercicio group by hijos; +-------+----------+ | hijos | count(*) | +-------+----------+ | 0 | 1 | | 1 | 2 | | 2 | 3 | | 4 | 1 | | 6 | 1 | +-------+----------+ 5 rows in set (0.00 sec) contar cuantas personas tienen <= A 37 años y su sexo sea mujer mysql> select count(*) from ejercicio where year(current_date)-year(nacimiento)<=37 and sexo='mujer'; +----------+ | count(*) | +----------+ | 2 | +----------+ 1 row in set (0.00 sec) Manejo de vistas VISTAS Se utiliza para crear tablas temporales Crear una vista que guarde toda la infomacion de los nombres que finalicen en a - Comando view - Sintaxis create view nombredelavista as consulta; - Ejemplo: create view ejercicioa as select * from ejercicio where nombre like'%a'; visualizar las tablas y se observa en el listado la vista creada, visualizar la información de la nueva vista y observar que solo guardo los nombres que terminan en a Nota: se crea una tabla tal cual es la original, pero con la informacion consultada ? Crear una vista que guarde todos los datos del sexo hombre - Comando view - Sintaxis create view nombredelavista as consulta; - Ejemplo: create view ejerciciosexo as select * from ejercicio where sexo= "hombre"; visualizar las tablas y se observa en el listado la vista creada, visualizar la informacion de la nueva vista y observar que solo guardo la información de los hombres insertar el siguiente registro en la tabla ejercicio insert into ejercicio(codigo,nombre,sexo,nacimiento,hijos) values('8005129','Alberto Lechona','hombre','1970-03-22','1'); visualizar nuevamente la informacion de las vistas creadas, y al ver la informacion en ambas vistas aparece alberto lechona yq que se inserto como registro nuevo y comple con las condiciones evaluadas al crarlas, lo que quiere decir que las vistas se actualizan automaticamente... para eliminar una vista se utliliza el comando drop sintaxis: drop view nombredelavistaaeliminar; ejercicio: eliminar la vista ejerciciosexo ejemplo: drop view ejerciciosexo; visualizar las tablas y se observa que la vista fue borrada o eliminada. Repasar subconsultas en mysql.... Investigar que son trigguer Cual es la sintaxis general para crear un trigger