Главная
»
Информационные системы
»
Управление данными
»
ОСНОВНЫЕ КОМАНДЫ ЯЗЫКА SQL МАНИПУЛИРОВАНИЯ ИНФОРМАЦИЕЙ ВНУТРИ ОБЪЕКТОВ БАЗЫ ДАННЫХ (UPDATE, DELETE)
ОСНОВНЫЕ КОМАНДЫ ЯЗЫКА SQL МАНИПУЛИРОВАНИЯ ИНФОРМАЦИЕЙ ВНУТРИ ОБЪЕКТОВ БАЗЫ ДАННЫХ (UPDATE, DELETE)
Синтаксис оператора UPDATE
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
или
UPDATE [LOW_PRIORITY] [IGNORE] tbl_name [, tbl_name ...]
SET col_name1=expr1 [, col_name2=expr2 ...]
[WHERE where_definition]
Оператор UPDATE
обновляет столбцы в соответствии с их новыми значениями в строках существующей таблицы. В выражении SET
указывается, какие именно столбцы следует модифицировать и какие величины должны быть в них установлены. В выражении WHERE
, если оно присутствует, задается, какие строки подлежат обновлению. В остальных случаях обновляются все строки. Если задано выражение ORDER BY
, то строки будут обновляться в указанном в нем порядке.
Если указывается ключевое слово LOW_PRIORITY
, то выполнение данной команды UPDATE
задерживается до тех пор, пока другие клиенты не завершат чтение этой таблицы.
Если указывается ключевое слово IGNORE
, то команда обновления не будет прервана, даже если при обновлении возникнет ошибка дублирования ключей. Строки, из-за которых возникают конфликтные ситуации, обновлены не будут.
6.4.6. Синтаксис оператора DELETE
DELETE [LOW_PRIORITY] [QUICK] FROM table_name
[WHERE where_definition]
[ORDER BY ...]
[LIMIT rows]
или
DELETE [LOW_PRIORITY] [QUICK] table_name[.*] [, table_name[.*] ...]
FROM table-references
[WHERE where_definition]
или
DELETE [LOW_PRIORITY] [QUICK]
FROM table_name[.*] [, table_name[.*] ...]
USING table-references
[WHERE where_definition]
Оператор DELETE
удаляет из таблицы table_name
строки, удовлетворяющие заданным в where_definition
условиям, и возвращает число удаленных записей.
Если оператор DELETE
запускается без определения WHERE
, то удаляются все строки. При работе в режиме AUTOCOMMIT
это будет аналогично использованию оператораTRUNCATE
. «Синтаксис оператора TRUNCATE
». В MySQL 3.23 оператор DELETE
без определения WHERE
возвратит ноль как число удаленных записей.
Если действительно необходимо знать число удаленных записей при удалении всех строк, и если допустимы потери в скорости, то можно использовать команду DELETE
в следующей форме:
mysql> DELETE FROM table_name WHERE 1>0;
Друзья! Приглашаем вас к обсуждению. Если у вас есть своё мнение, напишите нам в комментарии.