Оператор DELETE FROM используется для удаления строк в таблице. Например:
1 2 |
DELETE FROM Customers WHERE customer_id = 5; |
Здесь мы удаляем строку из таблицы Customers, где customer_id равен 5
.
Удалить все строки в таблице
С помощью оператора WHERE
мы можем указать, какие строки следует удалить. Однако если нужно удалить сразу все строки, то достаточно просто не указывать оператор WHERE
. Например:
1 |
DELETE FROM Customers; |
Здесь мы удаляем все строки из таблицы Customers.
Примечание: Будьте осторожны при использовании оператора DELETE FROM
. Записи могут быть безвозвратно утеряны, если у вас не окажется бэкапов (резервных копий).
Оператор TRUNCATE TABLE в SQL
Оператор TRUNCATE TABLE — это еще один способ одновременного удаления сразу всех строк в таблице. Например:
1 |
TRUNCATE TABLE Customers; |
Здесь мы делаем то же самое, что и выше — удаляем все строки из таблицы Customers.
Примечание: Оператор TRUNCATE TABLE
нельзя использовать в связке с оператором WHERE
.
DELETE FROM против TRUNCATE TABLE в SQL
Основное различие между обоими операторами заключается в том, что оператор DELETE FROM
может использоваться в связке с оператором WHERE
, а TRUNCATE TABLE
— нет. Это означает, что мы можем удалить одну или несколько строк, используя оператор DELETE FROM
, в то время как оператор TRUNCATE TABLE
удаляет сразу всё содержимое таблицы.
Мы можем выполнить работу оператора TRUNCATE TABLE
оператором DELETE FROM
, просто не указывая оператор WHERE
. Например, следующий код:
1 |
DELETE FROM Customers; |
идентичен
1 |
TRUNCATE TABLE Customers; |