PHP

MySQLi DELETE: Sintaxis para eliminar registros en MySQLi

Sintaxis básica para eliminar registros en MySQLi

La sentencia DELETE se utiliza en MySQLi para eliminar registros de una tabla en una base de datos. La sintaxis básica para eliminar registros en MySQLi es la siguiente:

DELETE FROM nombre_tabla WHERE condicion;

Donde:

  • DELETE FROM es la cláusula que indica que se va a eliminar registros de una tabla.
  • nombre_tabla es el nombre de la tabla de la cual se van a eliminar los registros.
  • WHERE es la cláusula opcional que se utiliza para especificar una condición para la eliminación de registros.
  • condicion es la condición que se debe cumplir para que se eliminen los registros. Esta condición puede ser tan simple como una igualdad o tan compleja como una combinación de múltiples condiciones utilizando operadores lógicos.

Es importante tener en cuenta que si no se especifica una condición en la sentencia DELETE, se eliminarán todos los registros de la tabla.

Eliminar registros con una condición específica

Para eliminar registros con una condición específica, se debe utilizar la cláusula WHERE en la sentencia DELETE. La condición puede ser cualquier expresión que evalúe a verdadero o falso.

Por ejemplo, supongamos que tenemos una tabla llamada «usuarios» con los campos «id», «nombre» y «edad». Si queremos eliminar todos los registros de usuarios mayores de 30 años, la sentencia DELETE sería la siguiente:

DELETE FROM usuarios WHERE edad > 30;

Esta sentencia eliminará todos los registros de la tabla «usuarios» donde la edad sea mayor a 30.

Recomendado:  PHP ob_start() Function: Syntax and Usage Explained

Eliminar todos los registros de una tabla

Si se desea eliminar todos los registros de una tabla, se puede omitir la cláusula WHERE en la sentencia DELETE. Por ejemplo:

DELETE FROM nombre_tabla;

Esta sentencia eliminará todos los registros de la tabla «nombre_tabla». Es importante tener en cuenta que esta operación no se puede deshacer, por lo que se debe tener cuidado al utilizarla.

Eliminar registros utilizando una consulta preparada

MySQLi permite utilizar consultas preparadas para eliminar registros de una tabla. Las consultas preparadas son útiles cuando se necesita ejecutar la misma sentencia SQL varias veces con diferentes valores.

Para utilizar una consulta preparada en MySQLi DELETE, se deben seguir los siguientes pasos:

  1. Preparar la consulta utilizando el método prepare() del objeto de conexión.
  2. Vincular los parámetros utilizando el método bind_param() del objeto de sentencia.
  3. Ejecutar la consulta utilizando el método execute() del objeto de sentencia.

A continuación se muestra un ejemplo de cómo utilizar una consulta preparada para eliminar registros de una tabla:

$conexion = new mysqli("localhost", "usuario", "contraseña", "basedatos");
$sentencia = $conexion->prepare("DELETE FROM usuarios WHERE id = ?");
$sentencia->bind_param("i", $id);
$id = 1;
$sentencia->execute();

En este ejemplo, se prepara la consulta DELETE para eliminar registros de la tabla «usuarios» donde el campo «id» sea igual al valor del parámetro. Luego, se vincula el parámetro utilizando el método bind_param(), donde «i» indica que el parámetro es un entero y $id es el valor del parámetro. Finalmente, se ejecuta la consulta utilizando el método execute().

Eliminar registros utilizando transacciones

MySQLi también permite utilizar transacciones para asegurar que una serie de operaciones se realicen de manera atómica, es decir, que todas se completen correctamente o ninguna se realice.

Recomendado:  PHP Form: Get Post - Diferencias entre GET y POST en formularios PHP

Para utilizar transacciones en MySQLi DELETE, se deben seguir los siguientes pasos:

  1. Iniciar la transacción utilizando el método begin_transaction() del objeto de conexión.
  2. Ejecutar la sentencia DELETE.
  3. Verificar si la eliminación fue exitosa utilizando el método affected_rows() del objeto de conexión.
  4. Si la eliminación fue exitosa, confirmar la transacción utilizando el método commit() del objeto de conexión. Si no, revertir la transacción utilizando el método rollback() del objeto de conexión.

A continuación se muestra un ejemplo de cómo utilizar transacciones para eliminar registros de una tabla:

$conexion = new mysqli("localhost", "usuario", "contraseña", "basedatos");
$conexion->begin_transaction();
$conexion->query("DELETE FROM usuarios WHERE edad > 30");
if ($conexion->affected_rows > 0) {
  $conexion->commit();
} else {
  $conexion->rollback();
}

En este ejemplo, se inicia la transacción utilizando el método begin_transaction(). Luego, se ejecuta la sentencia DELETE para eliminar registros de la tabla «usuarios» donde la edad sea mayor a 30. Después, se verifica si la eliminación fue exitosa utilizando el método affected_rows(). Si la eliminación fue exitosa, se confirma la transacción utilizando el método commit(). Si no, se revierte la transacción utilizando el método rollback().

Utilizar transacciones es especialmente útil cuando se necesita asegurar que una serie de operaciones se realicen de manera consistente, por ejemplo, cuando se necesita eliminar registros de varias tablas relacionadas.

Author

osceda@hotmail.com

Leave a comment

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *