Contenido principal
Programación de computadoras
Curso: Programación de computadoras > Unidad 3
Lección 4: Modificar bases de datos con SQLUsar SQL para actualizar una base de datos
Como lo hemos mencionado a lo largo de este curso, hay muchas veces en las que podemos encontrarnos usando SQL o un lenguaje de consulta tipo SQL en una base de datos. Podemos pensar que algunos usos son "operaciones de solo lectura" y otros usos son "operaciones de lectura y escritura".
Un ejemplo de una "operación de solo lectura" es un análisis de los datos en un volcado de datos de alguna app o un estudio de investigación. Por ejemplo, si yo fuera un científico de datos trabajando para un diario, podría preguntarme acerca del porcentaje de usuarios que come helado el mismo día que corre, para entender si el ejercicio hace que la gente quiera recompensarse a sí misma:
SELECT * FROM diary_logs WHERE
food LIKE "%ice cream%" AND activity LIKE "%running%";
Si estoy haciendo un análisis de datos como ese, entonces prácticamente lo único que estoy haciendo es un
SELECT
, todo es de solo lectura. No estamos creando nuevos datos, solo estamos consultando los ya existentes. Necesitamos hacernos muy buenos en consultas que usen SELECT
, pero no necesitamos saber cómo crear tablas, actualizar renglones ni nada de eso.Un ejemplo de "operaciones de lectura y escritura" es un ingeniero de software creando el backend de una aplicación web. Por ejemplo, si yo fuera el ingeniero de software que trabaja en el rastreador de salud, podría escribir código que sepa cómo insertar un nuevo registro diario en la base de datos cada vez que el usuario envíe un formulario:
INSERT INTO diary_logs (id, food, activity)
VALUES (123, "ice cream", "running");
Probablemente estaría emitiendo ese comando de SQL desde un lenguaje del lado del servidor, probablemente usando alguna biblioteca para facilitar la construcción de esos comandos. Así es como se vería esa inserción si estuviera usando Python con la biblioteca de SQLAlchemy:
diary_logs.insert().values(id=123, food="ice cream", activity='running')
También necesitaría escribir SQL para modificar la base de datos si el usuario editara su registro del día, lo borrara o incluso si eliminara su cuenta. Si el equipo decidiera agregarle más características a los registros diarios de los usuarios, como una columna de emoción para llevar un registro de qué tan contentos están al comer helado y correr (mi hipótesis: muy contentos), tendría que escribir SQL para modificar el propio esquema de la tabla.
Todas esas son "operaciones de escritura" y son necesarias si vamos a usar una base de datos para almacenar y actualizar datos de una app. Un
INSERT
es relativamente seguro porque todo lo que hace es agregar datos, pero las operaciones como UPDATE
, DELETE
, DROP
o ALTER
pueden ser mucho más peligrosas porque actualizan datos ya existentes. Por eso es realmente importante entender esas operaciones muy bien y usarlas con cuidado. ¡Sigue avanzando para aprender cómo usarlas!¿Quieres unirte a la conversación?
- ¿En que medida SQL nos beneficia como lenguaje de programación?(7 votos)
- En que, dependiendo del lenguaje, se puede llamar a SQL para crear bases de datos externas, así que realmente es muy usable!(2 votos)
- No he entendido alguien puede hacer un resumen haber si capto?(3 votos)
- como se informan los errores(3 votos)
- ¿que significado tiene backend?(3 votos)
- Backend viene siendo toda la parte que se desarrolla en el servidor estos incluyen las bases de datos lenguajes de programacion como python, ruby, c# nodejs... el front end seria toda la interfaz que ve el usuario, aqui aparecen lenguajes como javascript la maquetacion con html y css(1 voto)
- 'Cómo usar SQL para actualizar una base de datos?(2 votos)
- Cómo actualizo mi khan Academy(1 voto)
- gracias por la informacion dada en el proyecto esplicado(1 voto)
- ¿Para que nos ayuda las operaciones de escritura?(0 votos)
- "...son necesarias si vamos a usar una base de datos para almacenar y actualizar datos de una app."
En el mismo texto dice...(2 votos)
- Que fuente me recomiendan para conocer todas las funciones que tiene sqlite?(0 votos)