mysql有兩種方式可以清空表。分別為:delete from 表名和truncate table 表名。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:申請域名、雅安服務器托管、營銷軟件、網(wǎng)站建設(shè)、蒲城網(wǎng)站維護、網(wǎng)站推廣。
delete from 表名,刪除表數(shù)據(jù),全部刪除則是可以清空表,相當于一條條刪除,需要注意的是,如果有字段是自增的(一般為id),這樣刪除后,id 值還是存在的。舉例來說,就是加入你在刪除之前最大的id為100,你用這種方式清空表后 ,新插入一條數(shù)據(jù)其id為101,而不是1。
2.truncate table 表名,直接清空表,相當于重建表,保持了原表的結(jié)構(gòu),id也會清空。相當于保留mysql表的結(jié)構(gòu),重新創(chuàng)建了這個表,所有的狀態(tài)都相當于新表。效率上truncate比delete快,但truncate刪除后不記錄mysql日志,不可以恢復數(shù)據(jù)。
MySQL 刪除數(shù)據(jù)表
MySQL中刪除數(shù)據(jù)表是非常容易操作的, 但是你再進行刪除表操作時要非常小心,因為執(zhí)行刪除命令后所有數(shù)據(jù)都會消失。
本回答來自:MySQL 刪除數(shù)據(jù)表_樹懶學堂
語法
以下為刪除MySQL數(shù)據(jù)表的通用語法:
在命令提示窗口中刪除數(shù)據(jù)表
在mysql命令提示窗口中刪除數(shù)據(jù)表SQL語句為 DROP TABLE :
實例
以下實例刪除了數(shù)據(jù)表shulanxt_tbl:
是不是想rollback?
這個mysql是自動提交的
你可以將autocommit=0禁止使用
然后用事務語句去運行SQL
DROP TABLE table_name (刪除表);delete from 表名 where 刪除條件(刪除表內(nèi)數(shù)據(jù),用?delete);truncate table 表名(清除表內(nèi)數(shù)據(jù),保存表結(jié)構(gòu),用?truncate)。
擴展資料:
1、MySQL中刪除數(shù)據(jù)表是非常容易操作的, 但是你再進行刪除表操作時要非常小心,因為執(zhí)行刪除命令后所有數(shù)據(jù)都會消失。
2、命令提示窗口中刪除數(shù)據(jù)表:SQL語句為?DROP TABLE 。
3、使用PHP腳本刪除數(shù)據(jù)表:PHP使用 mysqli_query 函數(shù)來刪除 MySQL 數(shù)據(jù)表。該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回 TRUE,否則返回 FALSE。語法mysqli_query(connection,query,resultmode)。
4、當你不再需要該表時, 用?drop;當你仍要保留該表,但要刪除所有記錄時, 用?truncate;當你要刪除部分記錄時, 用?delete。
5、drop table table_name?: 刪除表全部數(shù)據(jù)和表結(jié)構(gòu),立刻釋放磁盤空間,不管是 Innodb 和 MyISAM。實例,刪除學生表:drop table student。
6、truncate table table_name?: 刪除表全部數(shù)據(jù),保留表結(jié)構(gòu),立刻釋放磁盤空間 ,不管是 Innodb 和 MyISAM。實例,刪除學生表:truncate table student。
7、delete from table_name?: 刪除表全部數(shù)據(jù),表結(jié)構(gòu)不變,對于 MyISAM 會立刻釋放磁盤空間,InnoDB 不會釋放磁盤空間。實例,刪除學生表:delete from student。
8、delete from table_name where xxx?: 帶條件的刪除,表結(jié)構(gòu)不變,不管是 innodb 還是 MyISAM 都不會釋放磁盤空間。實例,刪除學生表中姓名為 "張三" 的數(shù)據(jù):delete from student where T_name = "張三"。
9、delete 操作以后,使用?optimize table table_name?會立刻釋放磁盤空間,不管是 innodb 還是 myisam。實例,刪除學生表中姓名為 "張三" 的數(shù)據(jù):delete from student where T_name = "張三"。
10、delete from?表以后雖然未釋放磁盤空間,但是下次插入數(shù)據(jù)的時候,仍然可以使用這部分空間。