В чем разница между таблицей drop table и delete в SQL Server?

В SQL Server в чем разница между следующими двумя -

  • Щелкните правой кнопкой мыши объект базы данных (таблица/представление) и выберите таблицу "Отбрасывание" (т.е. Script таблица как → DROP To → New Query Editor Window)

  • Щелкните правой кнопкой мыши объект базы данных (таблица/представление) и выберите "Удалить".

Я попробовал их обоих, и оба выполняют одно и то же действие. Любая причина иметь два варианта для одного и того же? Является ли опция "Удалить" просто грубым способом удаления объекта базы данных?

Только для записи - я использую SS2008.

Ответы

Ответ 1

В графическом интерфейсе объекта удаления сверху есть опция "script", которая дает оператор t-sql, который является инструкцией plain table. Где, когда вы отправляете опцию drop table, генерируемый t-sql будет выполнять падение только в том случае, если таблица существует в таблице sys.objects.

Ответ 2

DROP удалит все данные и структуру таблицы.

DELETE удалит данные, но структура таблицы останется прежней, и мы все равно можем откатить данные. Также с помощью DELETE вы можете использовать условие where, чтобы удалить только определенные записи.

Ответ 3

это drop таблица и удалить объект, по крайней мере, в SQL Server 2005. Оба выполняют одно и то же действие.

Delete table и Drop table не совпадают. Первый будет удалять все данные из таблицы, в то время как последний удалит таблицу из базы данных.

Ответ 4

Удалить v/s Drop.

  • Оператор удаления выполняет условное удаление, тогда как команда Drop удаляет целые записи в таблице.

  • Оператор удаления удаляет только строки в таблице и сохраняет структуру таблицы как таковую, а команда Drop удаляет все данные в таблице и структуре таблицы.

  • Операция удаления может быть отменена, и она не выполняется автоматически, в то время как операция Drop не может быть отброшена каким-либо образом, поскольку это автоматически зафиксированный оператор.

Ответ 5

Один из них выполняет удаление, другой предоставляет TSQL script для удаления, поэтому вы можете изменить или использовать его в другом месте.

Ответ 6

Эти два являются одними и теми же операциями. DROP TABLE - это инструкция SQL для этого, Delete - стандартное, удобное для пользователя, имя команды, управляемое меню. Это все.

Ответ 7

Отбросить таблицу.. это приведет к удалению полной таблицы из базы данных .it не может получить bak Удалить используется для удаления данных из таблицы. Данные можно получить с помощью ROLL BACK.

Ответ 8

Если вы выберете "Удалить", затем выберите "script", вы увидите, что он также дает вам инструкцию в таблице выпадающих списков.

Ответ 9

Использование строк команды Delete может быть исключено из таблицы условно, но изменения могут быть выполнены/отменены с помощью COMMIT и ROLLBACK. Структура таблицы никогда не теряется. Truncate является альтернативой Delete в том смысле, что позволяет исключить строки без потери структуры таблицы, но UNLIKE Delete, операция не может быть отменена. Однако оператор Drop удаляет таблицу полностью вместе со своей структурой из базы данных, и эта операция не может быть отменена. Таким образом, Delete является оператором DML, а Turncate и Drop являются операторами DDL.

Ответ 10

Отбрасывающая таблица удалит содержимое таблицы и таблицы. Удалить таблицу просто отбросит содержимое. Truncate будет просто 'reset' содержимое до нуля

Ответ 11

Другим существенным отличием является то, что в DELETE он будет проходить/сканировать всем (условным на основе предиката) записи и удалять. Но при этом он будет перемещаться по записям, вместо этого он удалит фактическую запись таблицы из базы данных. Если мы посмотрим на план выполнения для Delete:

введите описание изображения здесь

В случае Drop, так как это DDL-команда, он даже не будет перемещать записи и не будет создавать какой-либо план выполнения.

Ответ 12

Мы можем удалить конкретную запись из таблицы с помощью команды delete. но с помощью drop мы можем отбросить таблицы. если вы используете Drop, структура также будет идти, но если вы используете команду delete, структура не будет идти.