Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Usar Insert y Update2 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Usar Insert y Update
vamos a quitar los empleados por tanto hemos dicho que este de aquí no lo puede insertar
00:00:00
por la fecha porque es anterior a la pre fijada vamos a borrarlo y ha insertado los otros dos
00:00:08
bien vamos a pasar a la inserción de cocineros vamos a explicar en la inserción de cocineros
00:00:14
y vemos que el primer cocinero no debería haber ningún problema porque éste tenía existe en cuanto
00:00:21
camareros también este dni existe y tampoco tendría que ningún problema pero este nos va
00:00:26
a dar problema porque porque este dni no existe si vamos a ejecutar nos dice que no existe ese
00:00:31
dni y por tanto no se puede realizar quitamos el último por tanto y le damos a ejecutar
00:00:38
vale nos dice que eso estaría vamos a
00:00:45
vemos cómo estaría la tabla de camareros y se habría insertado el 333 hemos habido
00:00:56
se ha insertado en camarero se ha insertado el 363 y el 999 que no existía por tanto sólo tiene
00:01:07
que haber insertado este el último valor el dni como no lo hemos puesto pues el encargado no sale
00:01:12
como nulo y si seleccionamos desde cocineros si seleccionamos desde cocineros nos generaría la
00:01:17
única que ha entrado que sería pues la 222 vale y estaría todo correcto bien vamos a pasar a
00:01:27
Vamos a pasar a una actualización. Vamos a modificar el código C del comedor 10 a 15. Vamos a ponerlo aquí y vamos a modificar el código C del comedor 10 a 15.
00:01:39
Este sería lo siguiente que vamos a hacer. ¿Cómo se puede hacer? Se puede realizar, depende de qué, de la relación que haya entre mesas y comedores. Si es un home update, cascade, pues entonces se propagará.
00:02:06
Si es un restrict, no action, pues dará un error. Entonces vamos a probar con un update. Queremos modificar la tabla comedores y le tenemos que colocar el código C, el valor de 15, donde código C es igual a 10.
00:02:23
Esta sería la línea que vamos a actualizar. Estamos actualizando el código C de comedores. Antes de ver esto, vamos a ver aquí en comedores, que tiene varias columnas, que serían código C, nombre, capacidad, número de mesas y localización.
00:02:53
Bien, acordaos que la tabla de comedores, la relación que había, comedores tenía como primariquí, tenía código C, ¿vale?
00:03:09
Entonces, en comedores lo que queremos es, y habíamos puesto, si no hemos puesto dentro de la misma un onAtDeckCascade, pues entonces nos va a generar un error.
00:03:29
vamos a ejecutarlo, a ver que nos dice
00:03:47
y nos dice que perfectamente, ¿por qué? porque lo habíamos puesto
00:03:51
que habíamos puesto ese onUpdate
00:03:55
cascade, ¿vale? para, vamos a ver
00:03:59
lo ejecutamos y vemos que
00:04:03
el código C de salón atlántico
00:04:17
que habíamos puesto al principio, pues tenemos que va a pasar a que
00:04:21
Ha pasado de 10, ha pasado a 15 y nos lo ha, nos ha modificado perfectamente. ¿Por qué? Porque tenemos en la tabla un on update cascade, ¿vale? Si no, no se propagaría.
00:04:25
Vamos a eliminar, por ejemplo, el comedor 20 y el comedor 30.
00:04:38
Esto es lo que vamos a hacer a continuación. Daría error. Pues depende si existen mesas asociadas. Hay que decir que si tenemos que en comedor, si nos vamos a la tabla de comedores,
00:05:00
tenemos que
00:05:17
dependerá de si existen mesas asociadas y de
00:05:22
la foreign key, ¿vale? ¿Qué sucederá? Si tenemos que hay
00:05:26
un restrict, pues normalmente fallará
00:05:30
fallará si, por ejemplo, si vamos a ponerlo aquí
00:05:33
delete comedores
00:05:37
código C
00:05:45
sea igual a 20. Esto es lo que vamos a poner. Vamos a poner
00:05:50
esta y vamos a poner a borrar también el 30.
00:05:54
Bien, aquí
00:06:02
tendríamos que, antes de eliminarlo, de eliminar el comedor
00:06:04
20 y el 30, vamos a ver
00:06:08
veis que comedores tenían
00:06:12
un código C en el que suprimir aquí, que era un autoincremento, pues
00:06:25
tenemos que era el código C, ¿vale? Lo tenía el nombre, capacidad, número de mesas y localización.
00:06:29
Entonces vamos a borrar y vamos a verlo aquí. Y vamos a ver qué es lo que tenemos. Queremos
00:06:37
borrar el 20 y queremos borrar el 30. Hemos dicho que para borrar el 20 y el 30 tendría
00:06:55
que haber que dependerá de si existen esas mesas o no vale hemos visto que existen existen los
00:07:04
códigos los códigos 20 y 30 y dependerá de la primavera y si tenemos que hay un restrict que
00:07:12
no lo hay vamos a probarlo y nos dice que el código c no puede borrarse vale imagino que
00:07:20
El 30 tampoco. Vamos a cortar esta y el 30 tampoco. ¿Por qué? Porque tenemos una restricción en la que no podemos, depende si tenemos una restricción en la propia Primariki.
00:07:29
Y entonces la primary key no se puede borrar. Bien, vamos a ver de nuevo otras. Vamos a poner ahora la inserción de una mesa basándose en el nombre del comedor, no en el código.
00:07:46
Primero vamos a hacer una inserción de empleados y de camareros. Vamos a insertar dos empleados y convertirlos en camareros.
00:08:02
Vamos a hacer esto. Vamos a insertar dos empleados y vamos a convertirlos en camareros.
00:08:40
Vamos a hacer la primera inserción. Tenemos aquí, lo voy a copiar y pegar, que ya lo tengo aquí para no tener que escribir.
00:08:46
Tenemos la inserción de empleados con estos valores. El 4-4-D no existía y lo único que vamos a hacer ahora
00:08:54
que es insertar dentro de camareros el mismo 4-4, el mismo empleado.
00:08:59
Y por otro lado vamos a insertar el empleado 5 y lo vamos a generar como a convertirlo en un camarero. Una vez que ejecutamos esto, no nos da ningún error. Y ahora lo que vamos a hacer, una vez que hemos insertado esos dos empleados, el 4-4 y el 5-5, y los hemos convertido en camareros, vamos ahora a insertar una mesa basándose en el nombre del comedor.
00:09:04
Vamos a poner aquí, insertar una mesa basándome en el nombre del comedor.
00:09:35
Lo vamos a hacer no en el código.
00:09:57
bien, ¿cómo lo vamos a hacer esto?
00:10:01
el insert into, pues vamos a hacerlo exactamente igual
00:10:08
pero insert
00:10:11
into, vale, va a ser un insert into
00:10:12
dentro de la tabla mesas, y teníamos que
00:10:19
mesas tenía tres campos, que era código
00:10:23
M código C
00:10:26
y N asientos
00:10:30
entonces, ¿qué es lo que vamos a hacer?
00:10:33
es un insert pero basándose en una
00:10:37
acoplado a una selección
00:10:40
el fruto del select
00:10:43
lógicamente ya no podemos insertarlo
00:10:46
al tener que insertar una mesa basándose en el nombre del comedor
00:10:49
tenemos que seleccionar esa mesa
00:10:52
Entonces, ya no podemos insertar del mismo modo que hemos visto antes, sino que tiene que ser a base de un select. El select, aquí no hay que poner values, sino que el select es el que nos va a, para ello, lo que vamos a hacer aquí.
00:10:55
Para que lo veáis, si yo selecciono Select, por ejemplo, vamos a seleccionar 12,6 comedores.
00:11:08
c.nombre
00:11:26
es igual
00:11:36
a salón
00:11:39
atlántico.
00:11:42
Vamos a ver si está bien. Perfecto.
00:11:50
Yo quiero seleccionar
00:11:52
acordaos
00:11:54
el mesas va a tener
00:11:58
código M. Vamos a ponerlo aquí con un
00:11:59
campos
00:12:02
mesas
00:12:07
Y tendríamos que sería código M, código C y N asientos.
00:12:08
Esos son los campos de mesas.
00:12:21
Entonces, queremos seleccionar los tres campos, tanto código M, código C y N asientos,
00:12:23
pero queremos insertar una mesa basándose en el nombre del comedor,
00:12:33
Ponemos un word. El word que tenemos aquí sería ha llamado aquí con un alias a comedores C para luego llamar a su campo nombre a través del operador punto. Y aquí estamos poniendo una condición que es que no seleccione la mesa salón atlántico.
00:12:38
Bien, esa es mesa, ¿qué nos va a devolver? Nos va a devolver cualquier código C tiene y le estamos poniendo que esa mesa, ya le estamos poniendo nosotros estos valores, que sería que el código M es el 9 y el número de cientos es 6.
00:12:57
Entonces, aquí teníamos el insert, vamos a cortar esto, luego lo utilizamos y vamos a hacer un select from mesas para ver lo que tenemos.
00:13:13
si lo vemos, ¿qué tenemos? Estamos hablando del 6
00:13:30
había, si lo ponemos
00:13:35
aquí, estamos utilizando
00:13:39
el de 6, ¿vale? Entonces
00:13:43
queremos que salga con el código 9
00:13:47
código M9, con el código C sería el
00:13:51
30 y estos serían los números de asientos
00:13:55
Al seleccionar desde comedores, que sería el salón atlántico. Como el salón se refiere, claro, aquí se está refiriendo, vamos a ver ahora, vamos a quitar esto de aquí y vamos a poner, si tenemos el salón atlántico, lo veis que se refiere al código C15.
00:13:59
Entonces, lo que vamos a hacer ahora es insertar en esta mesa, basándose en el nombre del comedor, vamos a insertar la nueva mesa, que sería esta, que sería la 9, con el código C basándose en el comedor Salón Atlántico.
00:14:34
comedor salón atlántico si veis es el que está aquí vamos a realizar primero vamos a hacer el
00:15:04
select y luego vamos a realizar esto y esto lo vamos a borrar vamos a hacer el select a ver qué
00:15:11
es lo que nos aparece bien si veis el select que nos está apareciendo nos está apareciendo que a
00:15:20
través de salud atlántico nos está apareciendo el código c que tenía asociado hemos visto en
00:15:24
comedores, que Salón Atlántico tiene el código C asociado 15. Entonces, nosotros lo que queremos
00:15:30
ahora es que a través del comedor Salón Atlántico nos rescate su código y C y que nos ponga el 9
00:15:35
como código M, el código C, el rescatado del Salón Atlántico y de 6 asientos y nos lo inserte como
00:15:42
una nueva mesa. Entonces, este es el set que va a ir como resultado dentro del insert. Entonces,
00:15:50
Entonces, si yo pongo ahora el insert, desde mesas, veis, estamos introduciendo a través del select. Ahora ya no se pone values, ¿por qué? Porque estamos insertando estos tres valores, o sea, el 9, el 6, que ya se los he dado yo, y el código C, que lo hemos sacado desde el GOME 2, Salón Atlántico, lo estamos insertando en mesas.
00:15:58
Ahora ya no sería necesario añadir aquí el values, sino que lo que estamos haciendo es que sería el insert into la tabla de mesas en estos campos y en estos campos mete el resultado de este select.
00:16:19
vamos a hacerlo y lo ejecutamos nos dice que
00:16:35
bueno aquí si lo ha metido a ver vamos a ver
00:16:43
si le damos a ejecutar nos tendría que aparecer la mesa que hemos introducido
00:17:02
que sería vale aparecería aquí
00:17:09
Y como comedor, estaría comedor Salón Atlántico 1580.
00:17:16
Y como mesas nos está seleccionando, veis que ahora el código C aparece dos veces, pero debería haber aparecido uno con el 9.
00:17:28
¿Qué sucede? Que no lo ha introducido. ¿Por qué?
00:17:43
Porque para insertarlo tendría que aparecer el código M.
00:17:47
¿Veis aquí? Tenemos aquí comedores que se basarían en el código C, pero cuando nos metemos en mesas tendría el código M y el código C.
00:17:53
Nosotros le hemos metido el... vamos a... hemos insertado desde código M como 9, creando uno nuevo como código C, el que nos sale de Salón Atlántico y como un número de asientos el 6.
00:18:07
estamos creando un nuevo y al ejecutarlo nos está diciendo que
00:18:24
dice que hay un error vamos a ver cuál es el tenemos aquí vamos a ver
00:18:31
vale si no hemos hecho referencia aquí a la tabla vale no lo he visto veis hemos
00:18:40
llamado como de los hace entonces habrá que llamar a la tabla c con su campo
00:18:47
código c vale teníamos este error por eso no salía ahora al ejecutarlo nos está
00:18:52
diciendo que... Inserting two mesas, código M, código C, N, asientos. Lo tengo bien. Servición A9, código C, 6, desde comedores.
00:18:56
Comedores C, ¿dónde? Pues está bien. Está insertando la mesa en el código 9. Vamos a ver. 9 y 6, no debería dar mal esto. Vamos a hacer un select.
00:19:14
y lo vemos
00:19:38
si veis aquí no hay otro 6, no lo he insertado
00:19:49
le damos aquí al select
00:19:54
y insertar dentro de mesas
00:19:57
debería dar bien, ahora lo he insertado, no sé por qué no lo he insertado anteriormente
00:19:59
ahora no nos ha dado error, vamos a hacerlo de nuevo
00:20:05
veis, ahora ya sí lo ha añadido
00:20:08
Veis, esta es otra manera de realizar inserciones, que es a través de un SELECT.
00:20:21
Entonces, hemos visto la inserción normal en la que poníamos la tabla con sus campos y luego una fila con detalles de valores con los valores de los campos.
00:20:27
Pero la otra manera de insertar sería esta, que sería a través de un INSERT, un tabla, los campos y luego esos campos son rellenados a través de un SELECT.
00:20:36
Si veis, aquí el select genera los tres mismos campos en el mismo orden que los que necesitamos para el insert y no utiliza la palabra values.
00:20:45
- Idioma/s:
- Materias:
- Informática
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Segundo Curso
- Autor/es:
- Francisco José González Constanza
- Subido por:
- Francisco J. G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 1
- Fecha:
- 21 de febrero de 2026 - 15:36
- Visibilidad:
- Público
- Centro:
- IES CIFP a Distancia Ignacio Ellacuría
- Duración:
- 21′ 04″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 338.45 MBytes