miércoles, 26 de septiembre de 2018

ACTUALIZACIÓN DE LA INFORMACION

La actualización de tablas

En este tema vamos a tratar el de la actualización de esos datos, es decir insertar nuevas filas, borrar filas o cambiar el contenido de las filas de una tabla. Estas operaciones modifican los datos almacenados en las tablas pero no su estructura, ni su definición.

Insertar varias filas INSERT INTO...SELECT

Podemos insertar en una tabla varias filas con una sola sentencia INSERT INTO…SELECT si los valores a insertar se pueden obtener como resultado de una consulta. Cada fila resultado de la SELECT forma una lista de valores que son los que se insertan en una nueva fila de la tabla destino. 
Ejemplo:
INSERT INTO repres (numemp, oficinarep, nombrerep) SELECT numemp, oficina, nombre FROM empleados WHERE titulo = 'rep ventas'
Selecciona los datos de los empleados que se acreditan con el titulo de rep ventas y los almacena en la tabla repres.

Modificar el contenido de las filas ( UPDATE ) 
 La sentencia UPDATE modifica los valores de una o más columnas en las filas seleccionadas de una o varias tablas.

UPDATE origen  SET campo = expresión

Origen puede ser un nombre de tabla, un nombre de consulta o una composición de tablas, también puede incluir la cláusula IN si la tabla a modificar se encuentra en una base de datos externa.

La cláusula SET especifica qué columnas van a modificarse y qué valores asignar a esas columnas

campo, es el nombre de la columna a la cual queremos asignar un nuevo valor por lo tanto debe ser una columna de la tabla origen 

La expresión en cada asignación debe generar un valor del tipo de dato apropiado para la columna indicada. La expresión debe ser calculable a partir de los valores de la fila que se está actualizando. Expresión no puede ser una subconsulta.

Ejemplo
UPDATE alumnos SET edad =20
Modifica el valor del campo edad en 20

Ejemplo: 
Queremos poner a cero el limite de credito de los clientes asignados a empleados de la oficina 12.
UPDATE clientes SET limitecredito = 0 
WHERE repclie IN (SELECT numemp FROM empleados WHERE oficina = 12);

Borrar filas (DELETE) 
La sentencia DELETE elimina filas de una tabla.
DELETE * FROM pedidos WHERE clie IN (SELECT numclie FROM clientes WHERE nombre = 'Julian López');
DELETE pedidos.* FROM pedidos INNER JOIN clientes ON pedidos.clie = clientes.numclie WHERE nombre = 'Julian López';
DELETE * FROM pedidos; o DELETE FROM pedidos; Borra todas las filas de pedidos

ACTIVIDAD DE APRENDIZAJE
EJERCICIO 10


Hacer una copia de las tablas que hay en la base de datos
1.- clic derecho en una tabla , elegir copiar
2.- clic derecho en un lugar vacio del área de tablas y elegir pegar

Cambiar el nombre a las tablas que se copiaron
1.- clic derecho sobre el nombre de una tabla y elegir cambiar nombre.



Consulta 1
Eliminar los contenidos de cada tabla
Delete * from mastros2
Delete * from alumnos2

CONSULTA 2
INSERTA EN UNA NUEVA TABLA LOS ALUMNOS QUE ESTUDIAN EN EL GRUPO 505
Insert intto alumnos2(matricula, nombres, apellidos, teléfono, especialidad, aula, faltas, reportes, fec_nac, localidad, grupo, domicilio, padre, no_trabajador) SELECT matricula, nombres, apellidos, teléfono, especialidad, aula, faltas, reportes, fec_nac, localidad, grupo, domicilio, padre, no_trabajador from alumnos

alumnos2
matricula
nombres
apellidos
telefono
especialidad
aula
faltas
reportes
fec_nac
localidad
grupo
domicilio
padre
no_trabajador
090780095-7
heidi natali
carmona arriga
4163432
informatica
5
0
2
23/03/1993
santa cruz
505
20 de Noviembre #8
hector Carmona
1
120780031-7
Lizbeth guadalupe
valencia lozano
4168614
informatica
5
0
0
15/04/1997
tamazula
505
morelos#372
aidee lozano
3
120780261-0
genesis natalia
Godinez Rodriguez
4164567
informatica
5
0
2
23/09/1996
tamazula
505
col. San Antonio #28
miguel godinez
1



CONSULTA 3

EN LA TABLA MAESTROS 2 INSERTA LOS DATOS DE LOS MAESTROS QUE VIVEN EN TAMAZULA
Insert into maestros2(nombre, apellido, domicilio, teléfono, localidad, notrabajador, fec_nac, salario) SELECT nombre, apellido, domicilio, teléfono, localidad, notrabajador, fec_nac, salario from maestros where loclaidad=”Tamazula”
maestros2
nombre
apellido
domicilio
telefono
localidad
notrabajador
fec_nac
salario
Jose enrique
vivas torres
conocido
tamazula
1
19/05/1974
$3,000.00





Consulta 4
Actualizar las faltas a los alumnos que están en la tabla alumnos2 a los cuales se les justificaran todas
UPDATE alumnos2 set faltas=0
alumnos2
matricula
nombres
apellidos
telefono
especialidad
aula
faltas
reportes
fec_nac
localidad
grupo
domicilio
padre
no_trabajador
090780095-7
heidi natali
carmona arriga
4163432
informatica
5
0
2
23/03/1993
santa cruz
505
20 de Noviembre #8
hector Carmona
1
120780031-7
Lizbeth guadalupe
valencia lozano
4168614
informatica
5
0
0
15/04/1997
tamazula
505
morelos#372
aidee lozano
3
120780261-0
genesis natalia
Godinez Rodriguez
4164567
informatica
5
0
2
23/09/1996
tamazula
505
col. San Antonio #28
miguel godinez
1

5. Modificar el salario del maestro incrementando el 20%
UPDATE maestros2 set salario = (salario + (salario*.20))
maestros2
nombre
apellido
domicilio
telefono
localidad
notrabajador
fec_nac
salario
Jose enrique
vivas torres
conocido
tamazula
1
19/05/1974
$3,600.00

5.  Modifica dejando en cero los reportes de los alumnos donde su apellido comience por local.
UPDATE alumnos2 set reportes = 0 WHERE Apellidos LIKE "A*" OR Apellidos LIKE "E*" OR Apellidos LIKE "I*" OR Apellidos LIKE "O*" OR Apellidos LIKE "U*"
Como ningún apellido empieza con vocal se sugiere:
UPDATE alumnos2 set reportes = 0 WHERE Apellidos LIKE "G*"
alumnos2
matricula
nombres
apellidos
telefono
especialidad
aula
faltas
reportes
fec_nac
localidad
grupo
domicilio
padre
no_trabajador
090780095-7
heidi natali
carmona arriga
4163432
informatica
5
0
2
23/03/1993
santa cruz
505
20 de Noviembre #8
hector Carmona
1
120780031-7
Lizbeth guadalupe
valencia lozano
4168614
informatica
5
0
0
15/04/1997
tamazula
505
morelos#372
aidee lozano
3
120780261-0
genesis natalia
Godinez Rodriguez
4164567
informatica
5
0
0
23/09/1996
tamazula
505
col. San Antonio #28
miguel godinez
1


Eliminar a los alumnos que hayan nacido en el año 1993
Delete * from alumnos2 where year(fec_nac)= 1993
alumnos2
matricula
nombres
apellidos
telefono
especialidad
aula
faltas
reportes
fec_nac
localidad
grupo
domicilio
padre
no_trabajador
120780031-7
Lizbeth guadalupe
valencia lozano
4168614
informatica
5
0
0
15/04/1997
tamazula
505
morelos#372
aidee lozano
3
120780261-0
genesis natalia
Godinez Rodriguez
4164567
informatica
5
0
0
23/09/1996
tamazula
505
col. San Antonio #28
miguel godinez
1





Consulta 9
 Eliminar las filas de los alumnos que tomaron clases del trabajador 1
DELETE * FROM ALUMNOS2 WHERE No_trabajador=1
alumnos2
matricula
nombres
apellidos
telefono
especialidad
aula
faltas
reportes
fec_nac
localidad
grupo
domicilio
padre
no_trabajador
120780031-7
Lizbeth guadalupe
valencia lozano
4168614
informatica
5
0
0
15/04/1997
tamazula
505
morelos#372
aidee lozano
3


ACTIVIDAD DE EVALUACIÓN practica 5
Elabore en su libreta algunos enunciados de consulta que hagan operaciones para insertar registros a alguna tabla nueva, actualice la información de algunos campos de los registros que haya en la tabla, elimine registros según el criterio determinado.


Lista de cotejo de evaluacion 1.2.1

No hay comentarios.: