MySQL UPDATE Actualización

Si necesitamos modificar o actualizar datos en MySQL, podemos usarUPDATEel comando para realizar la operación.

Sintaxis

La siguiente es la sintaxis SQL general del comando UPDATE para modificar datos en tablas MySQL:

UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;

Descripción de parámetros:

  • table_nameEs el nombre de la tabla cuyos datos deseas actualizar.
  • column1, column2, ... son los nombres de las columnas que deseas actualizar.
  • value1, value2, ... son los nuevos valores que se utilizarán para reemplazar los valores antiguos.
  • WHERE conditionWHERE es una cláusula opcional que se utiliza para especificar las filas a actualizar. Si se omiteWHEREla cláusula, se actualizarán todas las filas de la tabla.

Más explicaciones:

  • Puedes actualizar uno o más campos al mismo tiempo.
  • Puedes especificar cualquier condición en la cláusula WHERE.
  • Puedes actualizar datos en una única tabla al mismo tiempo.

La cláusula WHERE es muy útil cuando necesitas actualizar los datos de filas específicas en una tabla de datos.

Ejemplo

El siguiente ejemplo demuestra cómo usar la sentencia UPDATE.

1. Actualizar el valor de una sola columna:

UPDATE employees
SET salary = 60000
WHERE employee_id = 101;

2. Actualizar los valores de varias columnas:

UPDATE orders
SET status = 'Shipped', ship_date = '2023-03-01'
WHERE order_id = 1001;

3. Actualizar valores usando expresiones:

UPDATE products
SET price = price * 1.1
WHERE category = 'Electronics';

La sentencia SQL anterior aumenta el precio de cada producto perteneciente a la categoría 'Electronics' en un 10%.

4. Actualizar todas las filas que cumplan la condición:

UPDATE students
SET status = 'Graduated';

La sentencia SQL anterior actualiza el estado de todos los estudiantes a 'Graduated'.

5. Actualizar valores usando una subconsulta:

UPDATE customers
SET total_purchases = (
    SELECT SUM(amount)
    FROM orders
    WHERE orders.customer_id = customers.customer_id
)
WHERE customer_type = 'Premium';

La sentencia SQL anterior calcula el monto total de compras de cada cliente de tipo 'Premium' mediante una subconsulta y actualiza ese valor en la columna total_purchases.

Nota:Al usar la sentencia UPDATE, asegúrate de proporcionar condiciones suficientes para garantizar que solo se modifiquen las filas que deseas actualizar. Si no se proporciona la cláusula WHERE, se actualizarán todas las filas de la tabla, lo que puede provocar resultados impredecibles.


Actualizar datos mediante el símbolo del sistema

A continuación, usaremos la cláusula WHERE en el comando UPDATE para actualizar los datos especificados en la tabla ejemplo_tbl.

El siguiente ejemplo actualizará el valor del campo ejemplo_title cuyo ejemplo_id es 3 en la tabla de datos:

Sentencia SQL UPDATE:

mysql> UPDATE ejemplo_tbl SET ejemplo_title='Aprender C++' WHERE ejemplo_id=3; Query OK, 1 rows affected (0.01 sec) mysql> SELECT * from ejemplo_tbl WHERE ejemplo_id=3; +-----------+--------------+---------------+-----------------+ | ejemplo_id | ejemplo_title | ejemplo_author | submission_date | +-----------+--------------+---------------+-----------------+ | 3| AprenderC++ | EJEMPLO.COM | 2016-05-06 | +-----------+--------------+---------------+-----------------+ 1 rows in set (0.01 sec)

Según el resultado, el ejemplo_title con ejemplo_id 3 ha sido modificado.


Actualizar datos usando un script PHP

En PHP, se usa la función mysqli_query() para ejecutar sentencias SQL. Puedes usar o no la cláusula WHERE en la sentencia SQL UPDATE.

Nota:Si no se usa la cláusula WHERE, se actualizarán todos los datos de la tabla, por lo que se debe tener precaución.

Esta función tiene el mismo efecto quemysql>ejecutar sentencias SQL en el símbolo del sistema.

Ejemplo

El siguiente ejemplo actualizará los datos del campo ejemplo_title cuyo ejemplo_id es 3.

Prueba de la sentencia MySQL UPDATE:

<?php $dbhost = 'localhost'; //Dirección del host del servidor mysql $dbuser = 'root'; //Nombre de usuario de mysql $dbpass = '123456'; //Contraseña del usuario de mysql $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Error de conexión:' . mysqli_error($conn)); } //Establecer la codificación para evitar caracteres chinos ilegibles mysqli_query($conn , "set names utf8"); $sql = 'UPDATE ejemplo_tbl SET ejemplo_title="Aprender Python" WHERE ejemplo_id=3'; mysqli_select_db( $conn, 'EJEMPLO' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('No se pudieron actualizar los datos:' . mysqli_error($conn)); } echo '¡Datos actualizados con éxito!'; mysqli_close($conn); ?>
Otras extensiones