Hola bienvenidos a este nuevo capítulo del curso completo de base de datos y tocó el turno a la sentencia
apretadito vamos a actualizar y a modificar datos de tablas.
Esta sentencia es mucho más completa que la sentencia INSERT así que vamos a hablar y vamos a poner
ejemplos bastantes ejemplos para que ustedes comprendan la digamos la complejidad que tiene esta sentencia
que se podría equiparar tranquilamente a la sentencia Selleck.
En cuanto a la cantidad de variantes que podemos lograr se imaginarán que aquí a diferencia de insert
vamos a tener condiciones vamos a querer actualizar nuestras tablas cuando se cumplan determinadas condiciones
pero vamos por el ejemplo más fácil donde no tenemos una condición supongamos que tenemos nuestra tabla
productos y a todos los productos queremos ser viables un estatus de 1 o estatus de cero.
Vamos a ir a nuestro panel de consulta vamos a poner
el nombre de la tabla
vamos a usar la cláusula C.T aquí ya no van parentesis aquí ya no va la cláusula valioso sino que vamos
a se TIAR campo por campo.
Aquí no se agrupan los campos por un lado y los valores por el otro.
Cada modificación tiene que ir separada por comas.
Vamos a hacer un ejemplo
vamos a aceptar todos nuestros productos absolutamente todos y les vamos a colocar un estatus de cero
ejecutamos me pregunta esto es una alerta que me manda el Jaydy SQL porque al detectar que no tengo
ninguna cláusula Wear aquí me dice Without Claws o sea que no tengo ninguna cláusula Wear me dice ojo
que es peligroso porque lo que vas a hacer es moverle un valor a toda la tabla a un campo determinado
de la tabla le digo que sí y automáticamente mesetario.
Fíjense que tengo estátus 1 cuando yo refresque los datos todos van a pasar a tener estatus cero no
me ha quedado ni un solo producto con estatus.
1 Vamos a hacer algo bastante ilustrativo vamos a habilitar nuestros productos pero cuando cumplan determinada
condición esto es vamos a habilitar y vamos a poner un estatus de 1 a los productos cuando juegar el
campo precio sea mayor a cero.
Esto me va a permitir deshabilitar todos mis productos con la sentencia anterior lo hice y con esta
sentencia voy a habilitar sólo los que tienen precio cargado le doy ejecutar.
Ya no me alerta porque encontró que hay una cláusula Wear y fíjense voy a refrescar.
Aquí ya tenemos el primer campo el segundo pero el segundo registro cada vez que encuentra un campo
con precio le ha movido un estatus de 1.
Yo podría hacer actualizaciones complejas.
Primero vamos a ver cómo actualizar más de un campo.
Ok yo no sólo voy a habilitar y voy a poner un estatus de 1 de este valor lo podría obligar porque ya
lo hice ya.
Ya tienen estatus 1 pero voy a encadenar una serie de campos para que ustedes vean lo que podemos hacer
y voy a hacer que en el producto.
Vamos a ver algún campo todos los campos que tengan precio.
Le voy a grabar un 1 en venta suspendida.
No importa si tiene coherencia o no estamos haciendo una práctica para entender el lenguaje de SQL.
Vamos a bajar esto si lo ven bien muy bien.
Cuando encuentre un precio mayor a cero me va a actualizar esos dos campos.
Vamos nuevamente a nuestra tabla.
Vamos a recargar aquí voy a filtrar no quiero ver todas las columnas no quiero ver ni el proveedor no
quiero ver compra suspendida voy a filtrar para poder ver esta columna que es venta suspendida fijense
e hizo lo que yo quería me metió estos estos dos campos estas dos columnas.
Ok ahora vamos a ver qué pasa si yo juego con el Heydi de proveedor.
Supongamos que nosotros ya no trabajamos más con el proveedor 199 no vamos a buscar uno que tenga precios
y por ejemplo el 25 y yo digo que cuando el proveedor
sea igual a 25 el precio
los Eten cero y nada más.
Y además no le voy a comprar más
y le pongo un 1 en compra suspendida ejecutamos lo hizo muy rápido muy bien vamos a refrescar.
Fíjense mi proveedor 25 no tengo ningún precio ahora cómo puedo hacer aquí y aquí vamos a mezclar un
poco la clase de lenguaje SQL con lo que ya hemos aprendido del Jaydy SQL.
Recuerden que aquí tenemos un filtro y yo puedo poner un filtro que solamente me muestre los registros.
Esto no va a impactar en la base de datos.
Esto impacta solamente en la grilla de resultados que solamente me traiga los pero los registros del
proveedor 25 aplico y fíjense ahora tengo ya mis precios en cero como habíamos sorteado recién y la
compra suspendida en cero buenísimo.
Ya estamos añadiendo más complejidad a la cláusula Weda.
Ahora yo ahora voy a hacer algo totalmente no me voy a subir varios escalones de golpe voy a hacer algo
que les va a gustar.
Voy a actualizar mis precios y actualizar mis precios.
Le voy a poner a todo un precio de 100.
Recuerden que no importa aquí la coherencia de lo que estoy haciendo el tema es aprender el lenguaje.
Después si es coherente ponerle a todos un precio 100 no tiene importancia.
Donde mi Prova I
se encuentre
en la tabla productos
recuerdan la sentencia.
Bueno tenemos que poner Parente si vamos a hacer una sub consulta quiero ver mi tabla a proveedores.
Primero
muy bien vamos a ir aquí todos lo tenemos muy lindo todo lo tenemos muy lindo muy homogéneo así que
lo vamos a cambiar.
Le voy a decir que compra suspendida.
Fíjense esto esto está haciendo un Hardoy yo estoy en la grilla de resultados.
Hice doble click y le puedo modificar un valor.
Esto no lo hemos visto pero muy bueno le modifico un valor y ahí ya quedó grabado en la base de datos.
Ojo porque lo que ustedes modifiquen aquí va a impactar en la base de datos.
Fíjense yo modifiqué un valor aquí y el Jaydy SQL me ha ejecutado me ha ejecutado una sentencia abstract
me ha ejecutado una sentencia Adlai y luego ha ejecutado una sentencia Cele para refrescarme la grilla
esto es transparente a ustedes ustedes solamente hacen como si esto fuera un Excel y le van modificando
valores así que tengan en cuenta cuando tienen que salir a veces rápidamente de un problema y saben
que tienen que ir a una tabla y modificar un valor.
Ni siquiera necesitan hacerlo mediante una sentencia SQL pueden venir a la grilla y le cambian el valor
muy bien pero no nos vamos a distraer ahora yo voy a actualizar mi tabla productos y voy a actualizar
el campo precio y le voy a poner un 100.
Cuando el campo proveedor se encuentre en
obviamente tiene que ser el mismo campo
hasta ahí dónde.
Hasta ahí donde estamos.
Lo que estoy haciendo no tiene ninguna lógica porque obviamente provided va a existir en la tabla proveedores
va a existir en la tabla a proveedores pero se acuerdan que ustedes en la tabla a proveedores.
Yo le acabo de poner un uno en compra suspendida.
Muy bien.
Yo ahora voy a decirle que la tabla a proveedores solamente tenga en cuenta
qué creen que va a hacer esto esto va a ejecutar una sub consulta me va a devolver un solo campo de
la tabla a proveedores me va a devolver.
Obviamente todos los registros no los registros que cumplan esta condición de entre los cuales no está
el proveedor 25 entonces el proveedor 25 subproductos no van a tener un 100 en precio.
Vamos a ejecutar esto ya ejecutó.
Vamos a nuestra tabla productos
vamos a refrescar programaban limpiar el filtro fijense refresque y todos los productos tienen precio
menos
menos y aquí se ve que teníamos otro producto con compra suspendida.
Vamos a ir a la tabla proveedores vamos a ir al 2:14 y qué pasó.
El 2:14 no existe por eso en la consulta que yo traigo al no tener el proveedor 2:14 es obvio que va
a mantener mi dato en cero y no le va a grabar ningún valor entonces si el registro no existe en la
consulta yo le puse que solamente modifica el precio cuando exista el registro en la consulta como no
existe no le movió ningún valor fíjense en mi proveedor 25 sí existe pero qué pasa tenía compra suspendida
en uno.
Tampoco le movió el valor fíjense la potencia de esto la potencia de hacer una actualización dependiendo
de registros de otras tablas y no tuve que leer primero la tabla proveedores y en base a eso procesar
cada proveedor e ir a productos a moverme un precio no en una misma instrucción.
Mezclé UNAB Daguet con un celeb mezclé una actualización de tablas con una sub consulta de tablas.
Esto es esto es lo que ustedes tienen que entender que no hay límites obviamente va a haber cuestiones
de sintaxis cuestiones de límites por tipo de campo por tipo de datos que se los va a permitir o no
se los va a permitir.
Pero ustedes no van a tener casi límites vamos a decirlo así porque la perfección no existe.
Cuando tengan que hacer una operación sobre las tablas no importa lo compleja que sea van a poder encontrarle
la vuelta siempre que ustedes estén trabajando con tablas.
De la misma base de datos van a poder unirlas y hacer filtros y luego actualizar o borrar o lo que ustedes
quieran mucha más complejidad muchísima más complejidad.
Yo quiero que ustedes hagan ejercicios que hagan actualizaciones.
Nosotros vamos a tener la última parte del curso toda una sección donde yo voy a tirarles ejercicios
y los vamos a ir haciendo.
No quiero mezclar ejercicios con con las clases de cursos así que bueno vamos a ver a continuación la
última instrucción del lenguaje se cuele que es la instrucción Lilit que nos va a permitir borrar registros
de nuestras tablas y luego vamos a ir a la parte de los ejercicios así que nos vemos en la próxima clase.