English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Manual de referencia SQL

SQL Actualizar datos (sentencia UPDATE)

En este tutorial, aprenderá cómo usar SQL para actualizar registros en tablas de bases de datos.

Actualizar datos de tablaEn los capítulos anteriores, aprendimos cómo actualizar datos de tablas según diversas condicionesy cómo insertar datos en tablas de bases de datosElegir datos de consulta。En este tutorial, aprenderemos a realizar una tarea más importante, es decir, actualizar registros existentes en tablas de bases de datos.

Sintaxis

La sentencia UPDATE se utiliza para actualizar los datos existentes en la tabla.

UPDATE table_name SET column1_name = value1, column2_name = value2,...WHERE condition;

Aquí,column1_namecolumn2_name,...es el nombre de la columna o campo de la tabla de base de datos que se debe actualizar. También puede usar los operadores OR y AND que se aprendieron en el capítulo anteriorCombinar múltiples condiciones

Advertencia:La cláusula WHERE de la sentencia UPDATE especifica los registros que deben actualizarse. Si se omite la cláusula WHERE, se actualizarán todos los registros.

Vamos a ver algunos ejemplos que demuestren cómo funciona realmente.

Supongamos que en la base de datos tenemos unaemployeesLa tabla, que tiene los siguientes registros:

+--------+--------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+--------------+------------+--------+---------+
|      1 | Ethan Hunt   | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank | 2008-06-24 |   5600 |    NULL |
+--------+--------------+------------+--------+---------+

Actualizar una columna

La siguiente sentencia SQL actualizaráemployeesde la tablaemp_nameun campo y establecer un nuevo valor, donde el id de empleado (es deciremp_id)es igual a3。

UPDATE employees SET emp_name = 'Sarah Ann Connor'
WHERE emp_id = 3;

Después de ejecutar, la tabla de resultados será como sigue:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt     | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   5600 |    NULL |
+--------+------------------+------------+--------+---------+

Actualizar múltiples columnas

Del mismo modo, puede usar una lista de pares de nombres de columnas y valores separados por comas para actualizar múltiples columnas. El siguiente ejemplo actualizaráemployeesen la tablaemp_idpara5 de empleados existentessalaryydept_idcampo.

UPDATE employees
SET salary = 6000, dept_id = 2
WHERE emp_id = 5;

Después de ejecutar, la tabla de resultados será como sigue:

+--------+------------------+------------+--------+---------+
| emp_id | emp_name     | hire_date  | salary | dept_id |
+--------+------------------+------------+--------+---------+
|      1 | Ethan Hunt     | 2001-05-01 |   5000 |       1 |
|      2 | Tony Montana     | 2002-07-15 |   6500 |       5 |
|      3 | Sarah Ann Connor | 2005-10-18 |   8000 |       3 |
|      4 | Rick Deckard     | 2007-01-03 |   7200 |       4 |
|      5 | Martin Blank     | 2008-06-24 |   6000 |       2 |
+--------+------------------+------------+--------+---------+