1. 程式人生 > >SQL資料庫命令---------刪除表

SQL資料庫命令---------刪除表

drop,truncate,delete區別

    1、drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增資料是不可能的,除非新增一個表。

       drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trigger)索引(index);依賴於該表的儲存過程/函式將被保留,但其狀態會變為:invalid。

    2、truncate (清空表中的資料):刪除內容、釋放空間但不刪除定義(保留表的資料結構)。與drop不同的是,只是清空表資料而已。

       注意:truncate 不能刪除行資料,要刪就要把表清空。

    3、delete (刪除表中的資料):delete 語句用於刪除表中的行

。delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作作為事務記錄在日誌中儲存

       以便進行進行回滾操作。

       truncate與不帶where的delete :只刪除資料,而不刪除表的結構(定義)

    4、truncate table 刪除表中的所有行,但表結構及其列、約束、索引等保持不變。新行標識所用的計數值重置為該列的種子。如果想保留標識計數值,請改用delete。

       如果要刪除表定義及其資料,請使用 drop table 語句。  
    5、對於由foreign key約束引用的表,不能使用truncate table ,而應使用不帶where子句的delete語句。由於truncate table 記錄在日誌

中,所以它不能啟用觸發器。

    6、執行速度,一般來說: drop> truncate > delete。

    7、delete語句是資料庫操作語言(dml),這個操作會放到 rollback segement 中,事務提交之後才生效;如果有相應的 trigger,執行的時候將被觸發。

             truncate、drop 是資料庫定義語言(ddl),操作立即生效,原資料不放到 rollback segment 中,不能回滾,操作不觸發 trigger。 

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

例子

drop table 表名稱                         
truncate table 表名稱                             
delete from 表名稱 where 列名稱 = 值     

相關推薦

SQL資料庫命令---------刪除

drop,truncate,delete區別     1、drop (刪除表):刪除內容和定義,釋放空間。簡單來說就是把整個表去掉.以後要新增資料是不可能的,除非新增一個表。        drop語句將刪除表的結構被依賴的約束(constrain),觸發器(trig

sql語句中刪除資料drop、truncate和delete的用法

雖然不建議大家去用命令刪除資料庫表中的東西,但是這些刪除命令總有用的著的地方。   說到刪除表資料的關鍵字,大家記得最多的可能就是delete了   然而我們做資料庫開發,讀取資料庫資料.對另外的兩兄弟用得就比較少了   現在來介紹另外兩個兄弟,都是刪除表

sql語句中----刪除資料drop、truncate和delete的用法

雖然西西不建議大家去用命令刪除資料庫表中的東西,但是這些刪除命令總有用的著的地方。 說到刪除表資料的關鍵字,大家記得最多的可能就是delete了 然而我們做資料庫開發,讀取資料庫資料.對另外的兩兄弟用得就比較少了 現在來介紹另外兩個兄弟,都是刪除表資料的,其實也是很

SQL語句中----刪除數據drop、truncate和delete的用法

ali index invalid 表結構 back 標識 -- 等保 convert 一、SQL中的語法 1、drop table 表名稱 eg: drop table dbo.Sys_Test 2、trunca

sql語句中刪除 drop、truncate和delete的用法

drop table xx --xx是資料表的名字 作用:刪除內容和定義,釋放空間. 後果:整個表刪除,內容被刪除 truncate table xx 作用:刪除內容,釋放空間但不刪除定義.與drop不同的是隻清空表資料,不刪除表結構 注意:不可刪除行資料,只能全表刪除

Redis記憶體資料庫命令大全——資料型別

列表型別 LPUSH RPUSH LPOP RPOP 向列表增加元素,格式:Lpush / rpush  鍵名 元素 ;從列表彈出元素,格式:lpop/rpop 鍵名 元素 LPUSH JIHE 0 1 表示向列表左側寫入 0 、1 ,此時lpop輸出就是1、0 ,rp

只使用一條sql語句,刪除中的重複記錄

一個表,表1,ref(唯一值),type(有重複)如何去掉重複記錄。 建表sql語句: -- ---------------------------- -- Table structure for `deletechongfu` -- -------------------

Mysql 查詢表中重複資料刪除中重複的資料

1、根據指定條件查詢表中的重複記錄 select * from t_official_sys_user where USER_NAME in (select USER_NAME from (sel

Hive中元資料的關係和如何在元資料刪除

各表之間主鍵的關係圖 這個整理很不容易呀,能夠更好地瞭解他們,其中有一種場景需要使用的 傳統的方法刪除這張表: 方式一:僅刪除表中資料,保留表結構 truncate table 表名; (truncate用於刪除所有的行,這個行為在hive元儲存刪除資料是不可逆的) 或 d

mysql 刪除資料但不刪除結構SQL語句

當一份資料亂糟糟的時候,想把資料刪除掉,重新來過,但是又覺得太懶,不想重新定義一些表字段什麼的,索性就把資料庫內容給全部刪掉,重新匯入一遍資料。 我是在mysql客戶端,使用SQL語句進行刪除的。 下面是兩種SQL語句: 方法一: truncate table 表名; //

(轉)刪除中重複資料sql語句

查詢表中重複資料  select * from employee where employeeId in (select employeeId from employee group by employeeId having count(employeeId) > 1) 刪除表中

SQL 聯合主鍵跨刪除最小時間那條重複資料,跨 for UPdate

一、過濾出需要刪除的重複資料的ID select  aac001  from ei_app_recheck_citi_id inner join std_app on std_app.app_id=ei_app_recheck_citi_id.app_id where s

刪除中重複資料sql

一方法: 查詢表中重複資料  select * from employee where employeeId in (select employeeId from employee group by employeeId having count(employeeId) &

oracle 遊標迴圈刪除資料 sql

    declare   cursor table_user is     select table_name      from user_tables     where table_name not like 'resthome';    table_name va

C#實現對SQL資料庫中的的查詢、新增、修改、刪除資料

經常用到的物件有:SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid和DataReader等,以SqlConnection,SqlAdapter,SqlCommand、Dataset、DataGrid物件,操作SQL的例

sql刪除資料,重置主鍵

一、SQL中的語法    1、drop table 表名稱                         eg: drop table  dbo.Sys_Test    2、truncate table 表名稱                     eg: tr

my sql 刪除中重複的資料

1、根據指定條件查詢表中的重複記錄select * from t_official_sys_user where USER_NAME in (select USER_NAME from (select USER_NAME from t_official_sys_

Sql語句——刪除數據drop、truncate和delete的用法

行數據 const 數值 rain dml ble 可能 如果 sql語句 一、SQL中的語法 1、drop table 表名稱 eg: drop table dbo.Sys_Test 2、truncate tab

SQL增加、刪除、更改中的字段名

del 更改 字段名 foreign 主鍵 刪除表 def 修改表 一個 1. 向表中添加新的字段 alter table table_name add column_name varchar2(20) not null 2. 刪除表中的一個字段 d

SQL Server 刪除的默認值約束

主鍵約束 sel def unique spa 刪除表 object ogr style 首先查出字段的默認值約束名稱,然後根據默認值約束名稱刪除默認值約束 declare @constraintName varchar(200) select @constra