2022/07/31

S4 Modificando Tabla con Update y Delete

Modificando La Tabla Con Update Y Delete

Ya hemos hecho inserciones a la base de datos.

Además hemos hecho selección de qué es la información que queremos ver, hemos hecho joins.

Ahora, ¿qué tal si ya tenemos información en la base de datos y queremos actualizarla o digamos que la queremos eliminar? Entonces esas son instrucciones que nos faltan.

Para ello vamos a utilizar el cuaderno "modificando con update y delete".

Vamos a abrirlo.

Vamos a ver la cláusula update, en esta la sintaxis varía un poco pero en realidad es muy sencilla de entender.
Update nos ayuda para realizar una consulta que en realidad de seleccionada información va a actualizar la información que está en la base de datos.
Entonces, estas update también se pueden utilizar con la cláusula where.
Nos va a especificar qué registros de la base de datos queremos modificar para no tener que modificar toda la tabla.
La sintaxis similar es la siguiente: tenemos la palabra update que hace referencia a una tabla en específico, luego sigue acompañado de la palabra reserva set, que la traducción sería asignar, entonces le podemos decir "en la columna 1 asigna el valor 1, en la columna 2 asigna el valor 2".
Todo esto separado por comas y utilizando el operador igual para poder asignar.
Eso lo vamos a hacer para el número de columnas que queremos modificar los valores y le vamos a decir que solamente modifique a aquellos registros donde la condición se cumpla.
Vamos a utilizar SQL lite otra vez, la conexión es idéntica a como lo hemos estado utilizando, vamos a importar la base de datos del fútbol soccer y tenemos nuestro objeto conexión.
La conexión vamos otra vez a extraer un cursor que nos va a decir en dónde está de la base de datos y le vamos a hacer una selección para nosotros visualizar qué es lo que contiene nuestra base de datos.
Entonces vamos a seleccionar todos los jugadores.
Nos los imprime de esta manera.
entonces vamos a seleccionar algún jugador en específico.
Vamos a seleccionar el 103.
Vamos a escoger a Adam Federici.
Y a el vamos a tratar de cambiarle los valores, tal vez hubo un error a la hora de tipearlo y hay que actualizarlo.
Entonces le vamos a decir "update (actualiza) en la tabla player", y le vamos a asignar una altura de 190 y un peso de 170, ¿a quién? Bueno, a aquellos registros que tengan un Id de 103, nosotros sabemos que el 103 corresponde a Adam Federici, que él tiene un peso de 187 y una altura de 198.
Entonces, vamos a ver si se actualizan, lo hacemos si nos da el cursor no hay nada que nos haga referencia a que se hizo efectivamente o no pero podemos volver a hacer el select.
Vamos a usar un select más específico, vamos a decirle "donde Id es igual a 103".
Notarán que aquí utilizamos web en mayúsculas y acá abajo where con minúsculas, SQL lo interpreta exactamente igual, no hay ningún problema, pero es costumbre utilizarlo en mayúsculas todas estas palabras reservadas de SQL.
Entonces vamos a corregirlo, y ahora sí.
Vamos a seleccionar de la tabla player en donde el Id sea igual a 103 y eso nos trae a Adam Federici ya con los datos actualizados: la altura es de 190 y el peso es de 170.
Entonces, la cláusula update es muy sencilla de utilizar, simplemente le decimos reemplaza estos valores en estos registros y se acabó.
Es muy sencillo.
Por otro lado tenemos delete.
Delete se utiliza para eliminar los registros que ya no queremos en nuestra base de datos.
La estructura es muy similar a select, simplemente le decimos "delete ( o sea, elimina) de la tabla name donde se cumple esta condición".
Entonces le vamos a decir a la conexión ejecuta este, si se fijan aquí ya no estamos utilizando el cursor, nada más le estamos diciendo directamente a la conexión, "elimina de la tabla player donde el Id es igual a 103", es decir, nos vamos a deshacer de Federeci, lo ejecutamos y nos da pues simplemente un cursor, no nos dice bien, mal, no nos dice nada.
Lo que podemos hacer es consultarli Vamos a hacer la misma consulta de arriba: select (selecciona) from la tabla player donde (where) Id es igual a 103.
Lo imprimimos y vemos que no nos imprimió nada.
Lo que pasa es que cuando fue a buscar el Id 103 no lo encontró, y como no encontró nada pues no nos imprime nada.
No nos va a decir "no existe".
Simplemente nos va a decir nada.
Estos cambios, como los estamos haciendo en SQL, hay que buscar la manera de que sean permanentes, esto lo está haciendo en memoria.

Esto lo hacemos con esta función "conexión commit (conn_commit)", ahorita no la vamos a ejecutar porque no queremos alterar nuestros archivos de forma permanente, pero si ustedes están modificando los archivos, bueno, su base de datos en algún proyecto pues seguramente quieren los cambios permanentemente.

Ya se vio dos funciones nuevas que es update y delete, que son indispensables en el uso de bases de datos que nos van a servir de mucho cuando empecemos a administrar información de ahí.

Tal vez queremos eliminar información que está mal tipeada, que es información sucia, o tal vez queremos actualizarla y corregirla para que nuestra base de datos quede lista para poder hacer nuestro proceso de data mining o de data science.
Los espero en el próximo video para poder ver cómo podemos implementar todo esto que hemos estado viendo en SQL y verlo con lo que nosotros ya sabemos hacer en nuestras carpetas de Pandas.
 

No hay comentarios:

Publicar un comentario

S4 Cierre

Cierre Semana 4 Muchos de los problemas actuales a los que se enfrenta un científico de datos involucran el manejo de grandes cantidades de ...