Mysql清空資料

2021-09-18 00:19:57 字數 1850 閱讀 1637

mysql清空表(truncate)與刪除表中資料(delete)的區別,以表t_test為例子

(1) truncate t_test;

(2) delete from t_test;

 truncate是整體刪除(速度較快), delete是逐條刪除(速度較慢)。

 truncate不寫伺服器log,delete寫伺服器log,也就是truncate效率比delete高的原因。

 truncate不啟用trigger(觸發器),但是會重置identity(標識列、自增字段),相當於自增列會被置為初始值,又重新從1開始記錄,而不是接著原來的id數。而delete刪除以後,identity依舊是接著被刪除的最近的那一條記錄id加1後進行記錄。

truncate相當於保留mysql表的結構,重新建立了這個表,所有的狀態都相當於新錶,相當於手機重置

1、從資料表t1中把那些id值在資料表t2裡有匹配的記錄全刪除掉

delete t1 from t1,t2 where t1.id=t2.id 

或 delete from t1 using t1,t2 where t1.id=t2.id

2、從資料表t1裡在資料表t2裡沒有匹配的記錄查詢出來並刪除掉

delete t1 from t1 left join t2 on t1.id=t2.id where t2.id is null 

或 delete from t1,using t1 left join t2 on t1.id=t2.id where t2.id is null

3、 從兩個表中找出相同記錄的資料並把兩個表中的資料都刪除掉

delete t1,t2 from t1 left join t2 on t1.id=t2.id where t1.id=25
注意此處的delete t1,t2 from 中的t1,t2不能是別名

如:delete t1,t2 from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25

在資料裡面執行是錯誤的(mysql 版本不小於5.0在5.0中是可以的)

上述語句改 寫成

delete table_name,table2_name from table_name as t1 left join table2_name as t2 on t1.id=t2.id where table_name.id=25

4、修改字段

alter  table 表名 change 舊欄位名 新欄位名 新資料型別;

只修改資料型別

alter table address modify column city varchar(60);

5.給表 t_repair_notice 字段 mouldtype 賦值, t_repair_notice 關聯表 mould ,mould 關聯表 project

update  t_repair_notice,mould,project

set t_repair_notice.mouldtype = project.projecttype

where t_repair_notice.mouldinteriorid = mould.mouldid

and mould.projectid = project.projectid

6.欄位查詢語句

show full columns from p_brand ;//查詢表的字段資訊

show create table p_brand;//查詢表的ddl 建立語句

清空mysql表資料

delete from 表名 truncate table 表名 不帶where引數的delete語句可以刪除mysql表中所有內容,使用truncate table也可以清空mysql表中所有內容。效率上truncate比delete快,但truncate刪除後不記錄mysql日誌,不可以恢復資料...

Mysql清空表中資料

常用的清空資料表的sql語句有如下兩種 delete from 表名 truncate table 表名第一種方法 是刪除表中資料且主鍵id是繼續順序排下去 第二種方法 是徹底清空表中資料 把資料結構恢復至剛建表的時候 資料全部清空 從效能上講 測試了三千條資料delete from table比t...

Mysql 清空表中資料

刪除表資訊的方式有兩種 truncate table table name delete from table name 注 truncate操作中的table可以省略,delete操作中的 可以省略 truncate與delete清空表資料的區別 truncate 是整體刪除 速度較快 delet...