sql語句快速清空表

2021-08-20 14:12:17 字數 1779 閱讀 2392

對於sql清空表有三種清空方式

1.delete------ 是逐行刪除速度極慢,不適合大量資料刪除

2.truncate---- 刪除所有資料,保留表結構,不能撤消還原

3.drop-------- 刪除表,資料和表結構一起刪除,快速

但是在實踐過程中我發現,1,2這兩種方法在處理大量資料的時候都比較慢,往往要等待許久才能清空完成。所以我考慮還有沒有其他的方法達到清空表的作用呢。後來我從匯出表結構中想到了一種方法。

首先對原先表進行刪除,然後再重建,不就可以達到清空的作用麼,例如下:

[sql] 

view plain

copy

setforeign_key_checks=0;  

-- ----------------------------

-- table structure for medical_list

-- ----------------------------

drop

table

if exists `medical_list`;  

create

table

`medical_list` (  

`id` bigint

(20) 

notnull

,  `name

` longtext,  

`county_id` bigint

(20) 

default

null

,  `street_office_id` bigint

(20) 

default

null

,  `longitude` double

default

null

,  `latitude` double

default

null

,  `type` char

(255) 

default

null

,  `parent_id` bigint

(20) 

default

null

,  `max_popu` int

(11) 

default

null

,  `popu_list` longtext,  

`popu` int

(11) 

default

null

,  `building_id` bigint

(20) 

default

null

,  `gridx` int

(10) 

default

null

,  `gridy` int

(10) 

default

null

,  `lregionid` int

(10) 

default

null

,  `regionid_lon` double

default

null

,  `regionid_lat` double

default

null

,  primary

key(`id`)  

) engine=innodb default

charset=utf8;  

通過匯出sql檔案-僅結構,就可以得到以上sql語句。然後通過程式執行sql語句!

注:這個方法雖然很快速,但是一雖刪除了資料就不可逆了!

快速清空表資料

15.2.10 快速清空表資料 對於使用db2資料庫的使用者而言,有時候需要將表中資料清空。這裡提供了4種資料刪除的方法,以供使用者根據自己的需求進行選擇 使用delete語句,即 delete from 表名 該語句將清除表中所有資料,但由於這一操作會記日誌,因此執行速度會相對慢一些。另外要注意的...

SQL語句快速新增表的記錄

1 首先這張表名為users,主鍵是userid。建表的語句如下 code create databasespdb create tableusers useridint primary keyidentity 1,1 usernamevarchar 20 passwdvarchar 20 emai...

使用SQL語句清空資料庫所有表的資料

近來發現資料庫過大,空間不足,因此打算將資料庫的資料進行全面的清理,但表非常多,一張一張的清空,實在麻煩,因此就想利用sql語句一次清空所有資料.找到了三種方法進行清空.使用的資料庫為ms sql server.1.搜尋出所有表名,構造為一條sql語句 declare trun name varch...