Усекать и удалять
Создание и манипулирование данными составляют основу баз данных, и мы называем это DDL и DML соответственно. DDL является аббревиатурой для языка определения данных. Он может либо создавать, либо изменять структуры данных в базах данных, и они не могут использоваться для изменения данных, присутствующих в таблицах. Например, у нас есть команды, которые просто создают таблицу с указанными атрибутами таблицы, но никогда не добавляют никаких строк в таблицу. Но DML, язык манипулирования данными, способен добавлять, удалять или изменять данные в таблицах. Как правило, команды DDL имеют дело с структурами таблиц, тогда как команды DML имеют дело с фактическими данными. Пусть это так, почему мы просто отклоняемся от темы «Разница между Truncate и Delete»? Есть причины, по которым мы говорили о DML и DDL. Вы бы это поняли в начале дискуссии.
Что такое команда Truncate?
Цель команды Truncate - удалить всю таблицу. Поэтому, когда вы используете команду Truncate, вы теряете все данные на столе, и вы должны быть осторожны в ее использовании. Сообщите нам, как его использовать.
Синтаксис Truncate:
TRUNCATE TABLE имя-таблицы;
Здесь вы должны указать имя таблицы, которая должна быть удалена в целом. Это гарантирует, что в памяти будет таблица. Вот пример использования Truncate.
Ниже приведена таблица «employee» и просто посмотрите на строки данных.
EMP-идентификатор | EMP-имя | обозначение |
1011 | Джек | клерк |
1012 | румяный | Администратор |
1014 | Нэнси | финансов |
Теперь давайте выдадим следующую команду в таблице employee.
TRUNCATE TABLE работник;
Вот результат вышеупомянутого синтаксиса, и в нем нет данных.
EMP-идентификатор | EMP-имя | обозначение |
Что такое команда «Удалить»?
Цель команды Удалить - удалить указанные строки из таблицы. Здесь здесь используется предложение «Где», чтобы указать строки, которые необходимо удалить. Когда мы не укажем строки, команда удалит все строки в таблице. Просто посмотрите на синтаксис этого.
УДАЛИТЬ ОТ работник;
Вышеупомянутый синтаксис удаляет все строки из таблицы «employee». Таким образом, итоговая таблица не будет содержать никаких данных.
УДАЛИТЬ ОТ работник ГДЕ emp-id = 1011;
Этот оператор просто удаляет одну строку, emp-id которой равен 1011. Таким образом, итоговая таблица будет выглядеть следующим образом.
EMP-идентификатор | EMP-имя | обозначение |
1012 | румяный | Администратор |
1014 | Нэнси | финансов |
Отличия:
- Truncate - это DDL; Удалить - это DML: Мы обсудили выше, как DDL и DML работают в нашем обсуждении выше. Команда Truncate является DDL и работает на уровне структуры данных. Но Delete - это команда DML, и она работает с данными таблицы. Другими примерами для DDL являются CREATE и ALTER. Аналогичным образом можно сказать, что такие команды, как SELECT, UPDATE и INSERT, являются прекрасными примерами для DML.
- Как работает Truncate и Delete: Как только мы выдаем команду Truncate, она просто ищет указанную таблицу. Затем он полностью удаляет все данные из памяти. Но рабочая процедура немного отличается в случае удаления. Здесь исходные данные таблицы копируются в пространство, называемое пространством «Откат», перед выполнением фактических манипуляций с данными. Затем изменения выполняются на фактическом пространстве данных таблицы. Таким образом, оба они отличаются тем, как они работают.
усекать -> удалить целые данные из таблицы -> Теперь пространство таблиц освобождается.
удалять -> Скопировать исходные данные таблицы в поле «Назад назад» -> удалить указанную таблицу данных / всей таблицы -> Столбец освобожден, но пространство «Назад назад» заполнено.
- Откат: Откат назад напоминает команду «Отменить» в наших аксессуарах Microsoft. Он используется для отмены изменений, которые мы сделали недавно, то есть из последней сохраненной точки. Чтобы выполнить операцию, данные должны быть скопированы в пространство Roll Back до того, как они будут отредактированы. Хотя эти обратные ролики требуют дополнительной памяти, они чрезвычайно полезны, чтобы вернуться к оригиналу. Особенно, когда вы редактируете по ошибке! Давайте вернемся к Усечению и Удалению по отношению к Откату назад. Как мы обсуждали выше, Truncate никогда не использует обратное пространство, и мы не могли вернуться к исходным данным. Но команда Delete использует обратное пространство, и мы могли бы просто использовать «Commit» или «RollBack» для принятия или отмены изменений соответственно.
- Триггеры: Для тех, кто нуждается в объяснении о триггерах, вот небольшая заметка. Триггеры - это заранее заданный набор операций / операций, которые должны быть активированы, когда стол сталкивается с определенным условием. Например, мы можем спровоцировать изменение размера заработной платы, когда опыт сотрудника в компании превышает год. Эти триггеры могут работать и с другими таблицами. Например, мы могли бы обновить финансовую таблицу, как только повышение зарплаты будет сделано для сотрудника.
Truncate - это команда DDL, триггер здесь запрещен. Но Delete - это команда DML, здесь разрешены триггеры.
- Что быстрее? Как вы уже догадались, команда Truncate будет быстрее, чем команда Delete. Первый может удалить все данные, и нет необходимости проверять какие-либо условия соответствия.Кроме того, исходные данные не копируются в пространство отката, и это экономит много времени. Эти два фактора заставляют Truncate работать быстрее, чем Delete.
- Можно ли использовать предложение WHERE? Предложение «Где» используется для указания определенных условий согласования и не имеет ничего общего с Truncate. Поскольку Truncate никогда не ищет каких-либо условий соответствия, и он просто удаляет все строки, мы не могли бы использовать предложение Where. Но мы всегда можем указать условие с помощью предложения «где» в команде «Удалить».
- Что занимает больше места? Усечение не будет использовать пространство отката, и оно сохраняет эту память. Но delete нуждается в резервном копировании в виде пространства отката и, следовательно, для этого требуется больше места памяти, чем усечка.
Итак, таковы различия и давайте посмотрим в табличной форме.
S.No | Различия в | усекать | удалять |
1. | DDL или DML? | Это DDL, и он работает на уровне структуры данных. Другими примерами для DDL являются CREATE и ALTER. | Это команда DML, и она работает с данными таблицы. DML обозначает язык манипулирования данными. Команды, такие как SELECT, UPDATE и INSERT, являются прекрасными примерами для DML. DML обозначает язык манипулирования данными. |
2. | Как это работает? | Как только мы выдаем команду Truncate, она просто ищет указанную таблицу. Затем он полностью удаляет все данные из памяти. | Здесь исходные данные таблицы копируются в пространство, называемое пространством «Откат», перед выполнением фактических манипуляций с данными. Затем изменения выполняются на фактическом пространстве данных таблицы. |
3. | RollBack | Команда Truncate никогда не использует обратное пространство, и мы не могли вернуться к исходным данным. Откатное пространство является исключительным и занято, когда выдаются команды DML. | Команда Delete использует пространство возврата назад, и мы можем просто использовать «Commit» или «RollBack» для принятия или отмены изменений соответственно. |
4. | Триггеры | Truncate - это команда DDL, триггеры не разрешены. | Удалить - это команда DML, здесь разрешены триггеры. |
5. | Что быстрее? | Он может удалить все данные, и нет необходимости проверять какие-либо условия соответствия. Кроме того, исходные данные не копируются в пространство отката, и это экономит много времени. Эти два фактора заставляют Truncate работать быстрее, чем Delete. | Он использует пространство отката, и всегда должны быть сохранены исходные данные. Это дополнительное бремя и, в свою очередь, занимает много времени, чем Truncate. |
6. | Можно ли использовать предложение WHERE? | Поскольку Truncate никогда не ищет каких-либо условий соответствия, и он просто удаляет все строки, мы не могли бы использовать предложение Where. | Но мы всегда можем указать условие с помощью предложения «где» в команде «Удалить». |
7. | Что занимает больше места? | Усечение не будет использовать пространство отката, и оно сохраняет эту память. | Он нуждается в резервном копировании в виде пространства отката, и, следовательно, для этого требуется больше пространства памяти, чем усечение. |
Знание различий между любыми двумя объектами расширяет знания обоим! Вы попали на правильный путь, то есть на веб-страницу, чтобы понять различия, особенно между командами truncate и delete. Надеюсь, что теперь вы поняли свои разногласия и сообщите нам, помогли ли вы вам это понять. Вы также можете помочь нам указать, что осталось!