В этом учебном пособии вы узнаете, как использовать MySQL оператор UPDATE
с синтаксисом и примерами.
MySQL оператор UPDATE используется для обновления существующих записей в таблице в базе данных MySQL. Существует три синтаксиса для оператора UPDATE в зависимости от типа обновления, которое вы хотите выполнить.
Простая форма синтаксиса для оператора UPDATE при обновлении одной таблицы в MySQL:
Теперь полный синтаксис для MySQL оператора UPDATE при обновлении одной таблицы:
ИЛИ
Синтаксис оператора UPDATE при обновлении одной таблицы данными из другой таблицы в MySQL:
ИЛИ
Синтаксис MySQL оператора UPDATE при обновлении нескольких таблиц:
LOW_PRIORITY
— необязательный. Если указан LOW_PRIORITY
, обновление будет отложено до тех пор, пока не будет процессов читающих из таблицы. LOW_PRIORITY
может использоваться с таблицами MyISAM, MEMORY и MERGE, которые используют блокировку на уровне таблицы.
IGNORE
— необязательный. Если предоставляется IGNORE
, все ошибки, возникающие во время обновления, игнорируются. Если обновление в строке приведет к нарушению первичного ключа или уникального индекса, обновление в этой строке не будет выполнено.
column1
, column2
— столбцы, которые вы хотите обновить.
expression1
, expression2
— новые значения для назначения column1
, column2
. Таким образом, column1
присваивается значение expression1
, column2
присваивается значение expression2
и т. д.
WHERE conditions
— необязательный. Условия, которые должны выполняться для выполнения обновления.
ORDER BY expression
— необязательный. Он может использоваться в сочетании с LIMIT
для сортировки записей соответствующим образом при ограничении количества записей, подлежащих обновлению.
LIMIT number_rows
— необязательный. Если указан LIMIT
, он контролирует максимальное количество записей для обновления в таблице. Максимальное количество записей, указанных в файле number_rows
, будет обновляться в таблице.
Рассмотрим очень простой пример MySQL запроса UPDATE.
В этом MySQL примере UPDATE обновил поле last_name на ‘Ford’ в таблице customers , где customer_id = 500.
Рассмотрим пример MySQL UPDATE, где вы можете обновить более одного столбца с помощью одного оператора UPDATE.
Если вы хотите обновить несколько столбцов, вы можете сделать это, разделив пары столбца / значения запятыми.
Этот пример инструкции MySQL UPDATE обновил state
в ‘Nevada’ и customer_rep
до 23, где customer_id
больше 200.
Рассмотрим пример UPDATE, который показывает, как обновить таблицу данными из другой таблицы в MySQL.
MySQL
В этом примере UPDATE будет обновляться только таблица customers для всех записей, где customer_id больше 5000. Когда supplier_name из таблицы suppliers совпадает с именем customer_name из таблицы customers , city из таблицы suppliers будет скопирован в поле city таблицы customers .
Если нам нужно изменить или обновить данные в MySQL, мы можем использовать SQL команду UPDATE для работы. ,
Ниже приводится команда UPDATE для изменения данных MySQL Sheet Data Общие SQL синтаксис:
UPDATE table_name SET field1=new-value1, field2=new-value2
Когда вам нужно обновить данные, указанные в строках таблицы ИНЕКЕ очень полезно.
Командной строки, чтобы обновить данные
Ниже мы будем обновлять w3big_tbl указанные в таблице данных с помощью команды SQL UPDATE ИНЕКЕ:
В следующем примере будет обновлять таблицу данных в качестве w3big_title w3big_id значения поля 3:
# mysql -u root -p password; Enter password:******* mysql> use w3big; Database changed mysql> UPDATE w3big_tbl -> SET w3big_title="Learning JAVA" -> WHERE w3big_id=3; Query OK, 1 row affected (0.04 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql>PHP функция для использования mysql_query () для выполнения операторов SQL, вы можете использовать оператор UPDATE SQL или ИНЕКЕ не применяется.
Эта функция в MySQL> командной строки эффект выполнения операторов SQL то же самое.
В следующем примере будет обновлять данные w3big_id поле w3big_title 3.
This MySQL tutorial explains how to use the MySQL UPDATE statement with syntax and examples.
In its simplest form, the syntax for the UPDATE statement when updating one table in MySQL is:
UPDATE table SET column1 = expression1, column2 = expression2, ... ;
However, the full syntax for the MySQL UPDATE statement when updating one table is:
UPDATE [ LOW_PRIORITY ] [ IGNORE ] table SET column1 = expression1, column2 = expression2, ... ] ;
The syntax for the UPDATE statement when updating one table with data from another table in MySQL is:
UPDATE table1 SET column1 = (SELECT expression1 FROM table2 WHERE conditions) ;
The syntax for the MySQL UPDATE statement when updating multiple tables is:
UPDATE table1, table2, ... SET column1 = expression1, column2 = expression2, ... WHERE table1.column = table2.column AND conditions;
Let"s look at a very simple MySQL UPDATE query example.
UPDATE customers SET last_name = "Anderson" WHERE customer_id = 5000;
This MySQL UPDATE example would update the last_name to "Anderson" in the customers table where the customer_id is 5000.
Let"s look at a MySQL UPDATE example where you might want to update more than one column with a single UPDATE statement.
UPDATE customers SET state = "California", customer_rep = 32 WHERE customer_id > 100;
When you wish to update multiple columns, you can do this by separating the column/value pairs with commas.
state to "California" and the customer_rep to 32 where the customer_id is greater than 100.
Let"s look at an UPDATE example that shows how to update a table with data from another table in MySQL.
UPDATE customers
SET city = (SELECT city
FROM suppliers
WHERE suppliers.supplier_name = customers.customer_name)
WHERE customer_id > 2000;
This UPDATE example would update only the customers table for all records where the customer_id is greater than 2000. When the supplier_name from the suppliers table matches the customer_name from the customers table, the city from the suppliers table would be copied to the city field in the customers table.
Let"s look at a MySQL UPDATE example where you might want to perform an update that involves more than one table in a single UPDATE statement.
UPDATE customers, suppliers SET customers.city = suppliers.city WHERE customers.customer_id = suppliers.supplier_id;
This MySQL UPDATE statement example would update the city field in the customers table to the city from the suppliers table where the customer_id matches the supplier_id .
UPDATE tbl_name SET col_name1=expr1 [, col_name2=expr2, ...]Оператор UPDATE обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE , если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY , то строки будут обновляться в указанном в нем порядке.
Если указывается ключевое слово LOW_PRIORITY , то выполнение данной команды UPDATE задерживается до тех пор, пока другие клиенты не завершат чтение этой таблицы.
Если указывается ключевое слово IGNORE , то команда обновления не будет прервана, даже если при обновлении возникнет ошибка дублирования ключей. Строки, из-за которых возникают конфликтные ситуации, обновлены не будут.
Если доступ к столбцу из указанного выражения осуществляется по аргументу tbl_name , то команда UPDATE использует для этого столбца его текущее значение. Например, следующая команда устанавливает столбец age в значение, на единицу большее его текущей величины:
Mysql> UPDATE persondata SET age=age+1;
Значения команда UPDATE присваивает слева направо. Например, следующая команда дублирует столбец age , затем инкрементирует его:
Mysql> UPDATE persondata SET age=age*2, age=age+1;
Если столбец устанавливается в его текущее значение, то MySQL замечает это и не обновляет его.
Команда UPDATE возвращает количество фактически измененных строк. В версии MySQL 3.22 и более поздних функция C API mysql_info() возвращает количество строк, которые были найдены и обновлены, и количество предупреждений, имевших место при выполнении UPDATE .
В версии MySQL 3.23 можно использовать LIMIT # , чтобы убедиться, что было изменено только заданное количество строк.
Команда UPDATE — производит изменения в уже существующей записи или во множестве записей в таблице SQL . Изменяет существующие значения в таблице или в основной таблице представления.
Синтаксис команды UPDATE
Команда UPDATE. Основные ключевые слова и параметры команды UPDATE
WHERE
- определяет диапазон изменяемых строк теми, для которых определенное условие является TRUE
; если опускается эта фраза, модифицируются все строки в таблице или представлении.
При выдаче утверждения включается любой UPDATE-триггер
, определенный на таблице.
Подзапросы
. Если предложение SET
содержит подзапрос
, он возвращает точно одну строку для каждой модифицируемой строки. Каждое значение в результате подзапроса назначается соответствующим столбцам списка в круглых скобках. Если подзапрос не возвращает никакие строки, столбцу назначается NULL
. Подзапросы
могут выбирать данные из модифицируемой таблицы. Предложение SET
может совмещать выражения и подзапросы
.
Команда UPDATE Пример 1
Изменение для всех покупателей рейтинга на значение, равное 200:
Customers SET rating = 200;
Команда UPDATE Пример 2
Замена значения столбца во всех строках таблицы, как правило, используется редко. Поэтому в команде , как и в команде DELETE
, можно использовать предикат. Для выполнения указанной замены значений столбца rating, для всех покупателей, которые обслуживаются продавцом Giovanni (snum = 1003), следует ввести:
Customers SET rating = 200 WHERE snum = 1001;
Команда SQL UPDATE Пример 3
В предложении SET
можно указать любое количество значений для столбцов, разделенных запятыми:
Emp SET job = ‘MANAGER’, sal = sal + 1000, deptno = 20 WHERE ename = ‘JONES’;
Команда UPDATE Пример 4
В предложении SET
можно указать значение NULL без использования какого-либо специального синтаксиса (например, такого как IS NULL). Таким образом, если нужно установить все рейтинги покупателей из Лондона (city = ‘London’) равными NULL-значению, необходимо ввести:
Customers SET rating = NULL WHERE city = ‘London’;
Команда UPDATE Пример 5
Поясняет использование следующих синтаксических конструкций команды :
Emp a SET deptno =
(SELECT deptno FROM dept WHERE loc = ‘BOSTON’), (sal, comm) = (SELECT 1.1*AVG(sal), 1.5*AVG(comm) FROM emp b WHERE a.deptno = b.deptno) WHERE deptno IN (SELECT deptno FROM dept WHERE loc = ‘DALLAS’ OR loc = ‘DETROIT’);
Вышеупомянутое утверждение выполняет следующие операции: