刪除表數(shù)據(jù)有兩種方法:delete和truncate。具體語句如下:
創(chuàng)新互聯(lián)主要從事成都網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、外貿(mào)營銷網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)榆次,10多年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108
一、RUNCATE TABLE name? :
刪除表中的所有行,而不記錄單個(gè)行刪除操作。?在這個(gè)指令之下,表格中的資料會(huì)完全消失,可是表格本身會(huì)繼續(xù)存在。
TRUNCATE TABLE 的語法:TRUNCATE TABLE name ,參數(shù) name 是要截?cái)嗟谋淼拿Q或要?jiǎng)h除其全部行的表的名稱。
二、Delete from tablename where 1=1
1、delete語法:
DELETE FROM 表名稱 WHERE 列名稱 = 值。
2、刪除所有行:
可以在不刪除表的情況下刪除所有的行。這意味著表的結(jié)構(gòu)、屬性和索引都是完整的:DELETE FROM table_name。
DROP TABLE table_name (刪除表);delete from 表名 where 刪除條件(刪除表內(nèi)數(shù)據(jù),用?delete);truncate table 表名(清除表內(nèi)數(shù)據(jù),保存表結(jié)構(gòu),用?truncate)。
擴(kuò)展資料:
1、MySQL中刪除數(shù)據(jù)表是非常容易操作的, 但是你再進(jìn)行刪除表操作時(shí)要非常小心,因?yàn)閳?zhí)行刪除命令后所有數(shù)據(jù)都會(huì)消失。
2、命令提示窗口中刪除數(shù)據(jù)表:SQL語句為?DROP TABLE 。
3、使用PHP腳本刪除數(shù)據(jù)表:PHP使用 mysqli_query 函數(shù)來刪除 MySQL 數(shù)據(jù)表。該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。語法mysqli_query(connection,query,resultmode)。
4、當(dāng)你不再需要該表時(shí), 用?drop;當(dāng)你仍要保留該表,但要?jiǎng)h除所有記錄時(shí), 用?truncate;當(dāng)你要?jiǎng)h除部分記錄時(shí), 用?delete。
5、drop table table_name?: 刪除表全部數(shù)據(jù)和表結(jié)構(gòu),立刻釋放磁盤空間,不管是 Innodb 和 MyISAM。實(shí)例,刪除學(xué)生表:drop table student。
6、truncate table table_name?: 刪除表全部數(shù)據(jù),保留表結(jié)構(gòu),立刻釋放磁盤空間 ,不管是 Innodb 和 MyISAM。實(shí)例,刪除學(xué)生表:truncate table student。
7、delete from table_name?: 刪除表全部數(shù)據(jù),表結(jié)構(gòu)不變,對(duì)于 MyISAM 會(huì)立刻釋放磁盤空間,InnoDB 不會(huì)釋放磁盤空間。實(shí)例,刪除學(xué)生表:delete from student。
8、delete from table_name where xxx?: 帶條件的刪除,表結(jié)構(gòu)不變,不管是 innodb 還是 MyISAM 都不會(huì)釋放磁盤空間。實(shí)例,刪除學(xué)生表中姓名為 "張三" 的數(shù)據(jù):delete from student where T_name = "張三"。
9、delete 操作以后,使用?optimize table table_name?會(huì)立刻釋放磁盤空間,不管是 innodb 還是 myisam。實(shí)例,刪除學(xué)生表中姓名為 "張三" 的數(shù)據(jù):delete from student where T_name = "張三"。
10、delete from?表以后雖然未釋放磁盤空間,但是下次插入數(shù)據(jù)的時(shí)候,仍然可以使用這部分空間。
mysql有兩種方式可以清空表。分別為:delete from 表名和truncate table 表名。
delete from 表名,刪除表數(shù)據(jù),全部刪除則是可以清空表,相當(dāng)于一條條刪除,需要注意的是,如果有字段是自增的(一般為id),這樣刪除后,id 值還是存在的。舉例來說,就是加入你在刪除之前最大的id為100,你用這種方式清空表后 ,新插入一條數(shù)據(jù)其id為101,而不是1。
2.truncate table 表名,直接清空表,相當(dāng)于重建表,保持了原表的結(jié)構(gòu),id也會(huì)清空。相當(dāng)于保留mysql表的結(jié)構(gòu),重新創(chuàng)建了這個(gè)表,所有的狀態(tài)都相當(dāng)于新表。效率上truncate比delete快,但truncate刪除后不記錄mysql日志,不可以恢復(fù)數(shù)據(jù)。