19 - Tipos de datos (fechas y horas)


Problema:
Una concesionaria de autos vende autos usados. Guarda los siguientes datos en la tabla "autos":
- marca (fiat 128, renault 11, peugeot 505, etc.)
- modelo (año)
- dueño (nombre del dueño)
- precio (valor con decimales positivo que puede llegar hasta 999999.99 aprox.).

1- Elimine la tabla si existe.

2- Cree la tabla eligiendo el tipo de dato adecuado para almacenar estos datos:
 create table autos(
  marca varchar(15),
  modelo year,
  dueño varchar(30),
  precio decimal (8,2) unsigned  
 );

3- Ingrese los siguientes registros:
 insert into autos values('Fiat 128','1970','Juan Lopez',50000);
 insert into autos values('Renault 11','1990','Juan Lopez',80000);
 insert into autos values('Fiat 128','1971','Ana Ferreyra',51000);
 insert into autos values('Peugeot 505','1998','Luis Luque',99000);
 insert into autos values('Peugeot 505','1997','Carola Perez',85000);

4- Seleccione todos los autos cuyo modelo sea menor a "1995":
 select * from autos
  where modelo<1995;

5- Muestre la marca y modelo de los autos que no sean de "1970":
 select marca,modelo from autos
  where modelo<>1970;

6- Ingrese un auto con el valor para "modelo" de tipo numérico:
 insert into autos values('Peugeot 505',1995,'Carlos Lopez',88000);



 

Otros problemas:
Una empresa almacena los datos de sus empleados en una tabla "empleados".
1- Elimine la tabla, si existe:
 drop table if exists empleados;

2- Cree la tabla eligiendo el tipo de dato adecuado para cada campo:
 create table empleados(
  nombre varchar(20),
  documento char(8),
  sexo char(1),
  domicilio varchar(30),
  fechaingreso date
 );

3- Ingrese algunos registros:
 insert into empleados
  values('Juan Perez','22333444','m','Colon 123','1990-10-08');
 insert into empleados
  values('Ana Acosta','23333444','f','Caseros 987','1995-12-18');
 insert into empleados
  values('Lucas Duarte','25333444','m','Sucre 235','2005-05-15');
 insert into empleados
  values('Pamela Gonzalez','26333444','f','Sarmiento 873','1999-02-12');
 insert into empleados
  values('Marcos Juarez','30333444','m','Rivadavia 801','2002-09-22');

4- Seleccione todos los datos de los empleados que ingresaron a la empresa antes del 2000:
 select * from empleados
  where fechaingreso<'2000';

5- Muestre el nombre y la fecha de ingreso de los empleados de sexo masculino:
 select nombre,fechaingreso from empleados
  where sexo='m';

6- Modifique la fecha de ingreso del empleado con documento "22333444" a "1990-10-18":
 update empleados set fechaingreso='1990-10-18'
  where documento='22333444';

7- Ingrese un empleado con valor para "fechaingreso" en la cual coloque 2 digitos correspondientes 
al año:
 insert into empleados
  values('Susana Duarte','30123456','f','Sucre 1234','99-02-12');

8- Ingrese un empleado colocando sólo un dígito en la parte de la fecha correspondiente al mes y 
día:
 insert into empleados
  values('Daniel Herrero','30000001','m',null,'1980-2-03');

9- Ingrese una fecha de ingreso sin separadores:
 insert into empleados
  values('Ana Juarez','31123123','f',null,'19900306');

10- Ingrese un valor de tipo fecha y hora:
 insert into empleados
  values('Juan Mores','32222333','m',null,'1990-03-06 10:15');
Sólo guarda la parte de la fecha.

11- Ingrese un valor que MySQL no reconozca como fecha:
 insert into empleados
  values('Hector Perez','34444555','m',null,'1990036');
Almacenará ceros.

Retornar