Saltar al contenido
SQL con Python

Actualización y eliminación de datos: Cómo actualizar y eliminar datos en una tabla.

Introducción

En SQL, la actualización de datos es un proceso que te permite modificar los valores existentes de una tabla. Esto puede ser útil para corregir errores o actualizar información que ha cambiado. Para actualizar datos, debes usar la sentencia UPDATE, que te permite seleccionar la tabla y los campos a actualizar, y especificar los nuevos valores.

Por otro lado, la eliminación de datos es el proceso de eliminar filas o registros de una tabla existente en una base de datos. Esto se logra utilizando la sentencia DELETE, que te permite seleccionar la tabla y las filas o registros que deseas eliminar.

Es importante tener en cuenta que tanto la actualización como la eliminación de datos deben usarse con precaución, ya que cualquier cambio puede tener un impacto significativo en los datos y en la integridad de la información almacenada. Es recomendable realizar copias de seguridad antes de realizar cualquier modificación a una base de datos.

Resumen

Para actualizar datos en una tabla, se utiliza el comando UPDATE, seguido del nombre de la tabla y la cláusula SET que indica los datos que se van a actualizar. Luego, se utiliza la cláusula WHERE para especificar el registro o registros que se van a actualizar. La sintaxis es la siguiente:


UPDATE nombre_de_tabla
SET columna1 = valor1, columna2 = valor2, ...
WHERE condicion;

Por ejemplo, si quisieras actualizar el correo electrónico de un usuario con ID 1234, podrías utilizar la siguiente sentencia:


UPDATE usuarios
SET email = 'nuevocorreo@gmail.com'
WHERE id = 1234;

Para eliminar registros en una tabla, se utiliza el comando DELETE, seguido del nombre de la tabla y la cláusula WHERE para especificar el registro o registros que se quieren eliminar. La sintaxis es la siguiente:


DELETE FROM nombre_de_tabla
WHERE condicion;

Por ejemplo, si quisieras eliminar todos los usuarios que no hayan iniciado sesión en los últimos 6 meses, podrías utilizar la siguiente sentencia:


DELETE FROM usuarios
WHERE ultima_conexion < '2022-01-01';

Es importante tener en cuenta que la eliminación de registros es una operación permanente y no se puede deshacer una vez ejecutada, por lo que siempre se debe tener precaución al utilizar este comando.

Aplicación teórica

Un ejemplo práctico de actualización y eliminación de datos en una tabla utilizando Python y SQL. Supongamos que tenemos una tabla llamada "personas" con los siguientes datos:

id nombre edad
1 Diego 25
2 Ana 30
3 Juan 40

Para actualizar la edad de Ana de 30 a 35, puedes usar la siguiente sintaxis en SQL:


UPDATE personas
SET edad = 35
WHERE nombre = 'Ana';

En Python, puedes ejecutar esta consulta utilizando el siguiente código utilizando la biblioteca PyMySQL:


import pymysql

# Conexión a la base de datos
connection = pymysql.connect(
    host='localhost',
    user='usuario',
    password='contraseña',
    db='basedatos'
)

# Crear objeto cursor
cursor = connection.cursor()

# Actualizar registro
sql = "UPDATE personas SET edad = 35 WHERE nombre = 'Ana';"
cursor.execute(sql)

# Commit cambios
connection.commit()

# Cerrar conexión
connection.close()

Para eliminar el registro de Juan, podemos usar la siguiente sintaxis SQL:


DELETE FROM personas WHERE nombre = 'Juan';

Para hacer lo mismo en Python, podemos utilizar el siguiente código:


import pymysql

# Conexión a la base de datos
connection = pymysql.connect(
    host='localhost',
    user='usuario',
    password='contraseña',
    db='basedatos'
)

# Crear objeto cursor
cursor = connection.cursor()

# Eliminar registro
sql = "DELETE FROM personas WHERE nombre = 'Juan';"
cursor.execute(sql)

# Commit cambios
connection.commit()

# Cerrar conexión
connection.close()

Espero que este ejemplo te sea útil y te ayude a comprender cómo actualizar y eliminar datos en una tabla utilizando Python y SQL.

Aplicación práctica

Aquí te presento un ejemplo en Python utilizando la biblioteca sqlite3 para actualizar y eliminar datos en una tabla de una base de datos SQLite:


import sqlite3

# Conexión a la base de datos
conn = sqlite3.connect('ejemplo.db')

# Creación de la tabla
conn.execute('''CREATE TABLE IF NOT EXISTS empleados (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nombre TEXT NOT NULL,
    telefono TEXT,
    email TEXT
);''')

# Inserción de datos
conn.execute("INSERT INTO empleados (nombre, telefono, email) VALUES (?, ?, ?)", ('Juan Pérez', '555-1234', 'jperez@example.com'))
conn.execute("INSERT INTO empleados (nombre, telefono, email) VALUES (?, ?, ?)", ('María López', '555-5678', 'mlopez@example.com'))

# Actualización de datos
conn.execute("UPDATE empleados SET telefono = ? WHERE nombre = ?", ('555-4321', 'Juan Pérez'))

# Eliminación de datos
conn.execute("DELETE FROM empleados WHERE nombre = ?", ('María López',))

# Guardar los cambios
conn.commit()

# Cerrar la conexión
conn.close()

En este ejemplo, primero se crea una conexión a la base de datos SQLite y se crea una tabla llamada empleados. Luego, se insertan algunos datos en la tabla. Para actualizar datos, se utiliza la sentencia UPDATE empleados SET telefono = ? WHERE nombre = ?, que actualiza el número de teléfono del empleado con nombre "Juan Pérez". En este caso, se utiliza el método execute() de la conexión para ejecutar la sentencia SQL con los parámetros correspondientes. Para eliminar datos, se utiliza la sentencia DELETE FROM empleados WHERE nombre = ?, que elimina al empleado con nombre "María López". En este caso, también se utiliza el método execute() de la conexión para ejecutar la sentencia SQL con los parámetros correspondientes. Finalmente, se guardan los cambios utilizando el método commit() de la conexión y se cierra la conexión utilizando el método close().