程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL刪除數據Delete與Truncate語句應用比擬

MySQL刪除數據Delete與Truncate語句應用比擬

編輯:MySQL綜合教程

MySQL刪除數據Delete與Truncate語句應用比擬。本站提示廣大學習愛好者:(MySQL刪除數據Delete與Truncate語句應用比擬)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL刪除數據Delete與Truncate語句應用比擬正文


空mysqll表內容罕見的有兩種辦法:一種delete,一種是truncate 。 不帶where參數的delete語句可以刪除mysql表中一切內容,應用truncate table也能夠清空mysql表中一切內容。效力上truncate比delete快,但truncate刪除後不記載mysql日記,弗成以恢單數據。

其語法構造為:

TRUNCATE [TABLE] tbl_name

這裡簡略的給出個示例,

我想刪除 friends 表中一切的記載,可使用以下語句:

truncate table friends;


delete的後果有點像將mysql表中一切記載一條一條刪除到刪完,而truncate相當於保存mysql表的構造,從新創立了這個表,一切的狀況都相當於新表。

語法:

delete語句的界說。

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name

[WHERE where_definition]

[ORDER BY ...]

[LIMIT row_count]


MySQL的這些語法都和白話相似,你要指出你想從哪一個表刪除數據,還有刪除哪些數據,這就夠了。就像寫記序文的時刻,時光、所在、人物、情況、情節幾要素必弗成少一樣。
示例是最抽象,最能解釋成績的。所以,不整沒用的了,直接進入主題。依照下面的語法構造,我想刪除 firends 表中一切 user_name 等於 simaopig 的記載,
便可以應用以下SQL語句:


delete from friends where user_name = 'simaopig';delete


留意事項:
從語法構造中,我們便可以看出,和 update 語法一樣,我們是可以省略 where 子句的。不外這是一個很風險的行動。由於假如不指定 where 子句,delete 將刪除表中一切的記載,並且是立刻刪除,即便你想哭都沒有處所,也沒有時光,由於你須要立時和主管認可毛病,而且立刻找出MySQL日記,往返滾記載。不外一旦你有過一次如許的閱歷,我信任這必定是印象深入的。

奇異的是我在innodb上和myisam上年夜數據量下,索引文件極年夜的情形下,簡直弗成能刪除勝利!留待處理。

總結

不外truncate敕令快規快,卻不像delete敕令那樣對事務處置是平安的。是以,假如我們想要履行truncate刪除的表正在停止事務處置,這個敕令就會發生加入並發生毛病信息。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved