English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SQL Atualizar dados (instrução UPDATE)
atualizar dados de tabelanos capítulos anteriores, aprendemos como atualizar dados de tabela com base em várias condiçõese como inserir dados em tabelas de banco de dadosselecionar dados de consulta。Neste tutorial, vamos aprender a executar uma tarefa mais importante, ou seja, atualizar registros existentes em tabelas de banco de dados.
A instrução UPDATE é usada para atualizar dados existentes na tabela.
UPDATE table_name SET column1_name = value1, column2_name = value2,... WHERE condition;
Aqui,column1_name,column2_name... é o nome da coluna ou campo da tabela de banco de dados que deve ser atualizado. Você também pode usar os operadores OR e AND que aprendemos no capítulo anteriorcombinar várias condições。
Aviso:A cláusula WHERE da instrução UPDATE especifica os registros que devem ser atualizados. Se a cláusula WHERE for omitida, todos os registros serão atualizados.
Vamos ver alguns exemplos para demonstrar como ele realmente funciona.
Suponha que tenhamos umemployeesuma tabela que possui os seguintes 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 | +--------+--------------+------------+--------+---------+
A seguinte consulta SQL atualizaráemployeesda tabelaemp_nameum campo e definir um novo valor, onde o id do funcionário (ou sejaemp_id)é igual a3。
UPDATE employees SET emp_name = 'Sarah Ann Connor' WHERE emp_id = 3;
Após a execução, a tabela de resultados será como segue:
+--------+------------------+------------+--------+---------+ | 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 | +--------+------------------+------------+--------+---------+
Da mesma forma, você pode usar uma lista de nomes e valores de colunas separados por vírgulas para atualizar várias colunas. O exemplo a seguir atualizaráemployeesna tabelaemp_idpara5 do funcionário existentesalaryedept_idCampo.
UPDATE employees SET salary = 6000, dept_id = 2 WHERE emp_id = 5;
Após a execução, a tabela de resultados será como segue:
+--------+------------------+------------+--------+---------+ | 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 | +--------+------------------+------------+--------+---------+