If you're seeing this message, it means we're having trouble loading external resources on our website.

Si estás detrás de un filtro de páginas web, por favor asegúrate de que los dominios *.kastatic.org y *.kasandbox.org estén desbloqueados.

Contenido principal

Usar 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?

¿Sabes inglés? Haz clic aquí para ver más discusiones en el sitio en inglés de Khan Academy.