Усекать и удалять

Anonim

Создание и манипулирование данными составляют основу баз данных, и мы называем это 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. Надеюсь, что теперь вы поняли свои разногласия и сообщите нам, помогли ли вы вам это понять. Вы также можете помочь нам указать, что осталось!