tsql — Удалить все записи
спросил
Изменено 6 месяцев назад
Просмотрено 364 тыс. раз
Как удалить все записи в SQL Server 2008?
- tsql
- sql-server-2008
- sql-delete
- sql-truncate
2
Для удаления всех записей из таблицы без удаления самой таблицы.
УДАЛИТЬ ИЗ имя_таблицы
использовать с осторожностью, отменить нельзя!
Чтобы удалить таблицу
DROP TABLE имя_таблицы
1
со стола?
Вы можете использовать это, если у вас нет внешних ключей к другим таблицам
truncate table TableName
или
удалить TableName
если вы хотите все таблицы
sp_msforeachtable 'удалить?'
Используйте оператор DELETE
Удалить из
Например:
Удалить из Студента;
Я вижу, что другие ответы, приведенные выше, верны, но я облегчу вам жизнь.
Я даже создал для вас пример. Я добавил несколько строк и хочу их удалить.
Вы должны щелкнуть правой кнопкой мыши по таблице и, как показано на рисунке Script Table a> Delete to> New query Editor widows:
Затем откроется другое окно со скриптом. Удалите строку «где», потому что вы хотите удалить все строки. Затем нажмите «Выполнить».
Чтобы убедиться, что вы сделали это, щелкните правой кнопкой мыши по таблице и выберите «Выбрать первые 1000 строк». Затем вы можете увидеть, что запрос пуст.
Если вы хотите сбросить таблицу, вы можете сделать
truncate table TableName
truncate требует привилегий, и вы не можете использовать его, если в вашей таблице есть зависимые (другие таблицы, которые имеют FK вашей таблицы,
Для одной таблицы
обрезать таблицу [имя таблицы]
Для всех таблиц
EXEC sp_MSforeachtable @command1="урезать таблицу?"
Удалите строки на панели результатов, если вы хотите удалить записи в базе данных. Если вы хотите удалить все строки, вы можете использовать запрос на удаление.
Удалить из Table_name
Когда таблица очень большая, лучше удалить саму таблицу с помощью drop table TableName
и создать ее заново, если есть запрос на создание таблицы; а не удалять записи по одной, используя
, потому что это может занять много времени.
удалить из TableName
не рекомендуется.
Как и в Google BigQuery, он не позволяет использовать удаление без предложения «где».
использовать
обрезать таблицу TableName
вместо
Оператор DELETE FROM YourDatabaseName.SomeTableName;
, если вы готовы удалить все записи с разумного разрешения. Но вы можете увидеть ошибки в ограничениях, которые вы определили для своих внешних ключей. Так что вам нужно изменить свои ограничения перед удалением записей, иначе есть команда для MySQL (которая может работать для других), чтобы игнорировать ограничения.
УСТАНОВИТЬ external_key_checks = 0;
Имейте в виду, что эта команда отключит проверку ограничений внешних ключей, поэтому это может быть опасно для отношений, созданных вами в вашей схеме.
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрироваться через Facebook
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Обязательно, но не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
sql — удалить все из таблицы
спросил
Изменено 1 год, 5 месяцев назад
Просмотрено 341 тысяч раз
что быстрее?
УДАЛИТЬ ИЗ имя_таблицы;
или
УДАЛИТЬ ИЗ имя_таблицы, где 1=1;
почему?
усекает таблицу
работает в доступе?
- sql
- mysql
- ms-access
- оптимизация
- производительность
5
Вы можете использовать приведенный ниже запрос, чтобы удалить все строки из таблицы, также вы должны помнить, что он также сбросит идентификатор.
TRUNCATE TABLE имя_таблицы
4
Это должно быть быстрее:
УДАЛИТЬ * ИЗ имя_таблицы;
, потому что РСУБД не нужно искать , где
— это что.
Вы должны быть в порядке с truncate
хотя:
truncate table table_name
3
Это удаляет таблицу имя_таблицы
.
Замените на имя таблицы, которую необходимо удалить.
УДАЛИТЬ ИЗ имя_таблицы;
1
Существует сообщение об ошибке MySQL от 2004 года, которое все еще имеет некоторую достоверность. Кажется, в 4.x это было быстрее всего:
DROP имя_таблицы СОЗДАТЬ ТАБЛИЦУ имя_таблицы
TRUNCATE имя_таблицы
было тогда DELETE FROM
внутренним, что не обеспечивало повышения производительности.
Кажется, это изменилось, но только в 5.0.3 и младше. Из отчета об ошибке:
[11 января 2005 16:10] Марко Мякеля
Теперь я реализовал быструю TRUNCATE TABLE, которая, надеюсь, будет включена в MySQL 5.0.3.
0
TRUNCATE TABLE имя_таблицы
Это DDL (язык определения данных), вы можете удалить все данные и очистить личность. Если вы хотите использовать это, вам нужны привилегии DDL в таблице.
Пример операторов DDL: CREATE, ALTER, DROP, TRUNCATE и т. д.
DELETE FROM имя_таблицы / DELETE FROM имя_таблицы ГДЕ 1=1 (то же самое)
Это DML (язык манипулирования данными), вы можете удалить все данные. Пример операторов DML: SELECT, UPDATE и т. д.
Это важно знать, потому что если приложение работает на сервере, то при запуске DML проблем не возникнет. Но иногда при использовании DDL нам придется перезапустить службу приложения.