亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL刪除數(shù)據(jù)Delete與Truncate語句使用比較

 更新時(shí)間:2012年09月12日 15:47:03   作者:  
在MySQL數(shù)據(jù)庫中,DELETE語句和TRUNCATE TABLE語句都可以用來刪除數(shù)據(jù),但是這兩種語句還是有著其區(qū)別的,下文就為您介紹這二者的差別所在
空mysqll表內(nèi)容常見的有兩種方法:一種delete,一種是truncate 。 不帶where參數(shù)的delete語句可以刪除mysql表中所有內(nèi)容,使用truncate table也可以清空mysql表中所有內(nèi)容。效率上truncate比delete快,但truncate刪除后不記錄mysql日志,不可以恢復(fù)數(shù)據(jù)。

其語法結(jié)構(gòu)為:
復(fù)制代碼 代碼如下:

TRUNCATE [TABLE] tbl_name

這里簡單的給出個(gè)示例,

我想刪除 friends 表中所有的記錄,可以使用如下語句:
復(fù)制代碼 代碼如下:

truncate table friends;


delete的效果有點(diǎn)像將mysql表中所有記錄一條一條刪除到刪完,而truncate相當(dāng)于保留mysql表的結(jié)構(gòu),重新創(chuàng)建了這個(gè)表,所有的狀態(tài)都相當(dāng)于新表。

語法:

delete語句的定義。
復(fù)制代碼 代碼如下:

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

[WHERE where_definition]

[ORDER BY ...]

[LIMIT row_count]


MySQL的這些語法都和口語類似,你要指出你想從哪個(gè)表刪除數(shù)據(jù),還有刪除哪些數(shù)據(jù),這就夠了。就像寫記敘文的時(shí)候,時(shí)間、地點(diǎn)、人物、環(huán)境、情節(jié)幾要素必不可少一樣。
示例是最形象,最能說明問題的。所以,不整沒用的了,直接進(jìn)入主題。按照上面的語法結(jié)構(gòu),我想刪除 firends 表中所有 user_name 等于 simaopig 的記錄,
就可以使用如下SQL語句:

復(fù)制代碼 代碼如下:

delete from friends where user_name = 'simaopig';delete


注意事項(xiàng):
從語法結(jié)構(gòu)中,我們就可以看出,和 update 語法一樣,我們是可以省略 where 子句的。不過這是一個(gè)很危險(xiǎn)的行為。因?yàn)槿绻恢付?where 子句,delete 將刪除表中所有的記錄,而且是立即刪除,即使你想哭都沒有地方,也沒有時(shí)間,因?yàn)槟阈枰R上和主管承認(rèn)錯(cuò)誤,并且立即找出MySQL日志,來回滾記錄。不過一旦你有過一次這樣的經(jīng)歷,我相信這一定是印象深刻的。

奇怪的是我在innodb上以及myisam上大數(shù)據(jù)量下,索引文件極大的情況下,幾乎不可能刪除成功!留待解決。

總結(jié)

不過truncate命令快規(guī)快,卻不像delete命令那樣對(duì)事務(wù)處理是安全的。因此,如果我們想要執(zhí)行truncate刪除的表正在進(jìn)行事務(wù)處理,這個(gè)命令就會(huì)產(chǎn)生退出并產(chǎn)生錯(cuò)誤信息。

相關(guān)文章

  • MySQL時(shí)間設(shè)置注意事項(xiàng)的深入總結(jié)

    MySQL時(shí)間設(shè)置注意事項(xiàng)的深入總結(jié)

    這篇文章主要給大家介紹了關(guān)于MySQL時(shí)間設(shè)置注意事項(xiàng)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • mysql數(shù)據(jù)庫從服務(wù)器移植到個(gè)人PC的方法

    mysql數(shù)據(jù)庫從服務(wù)器移植到個(gè)人PC的方法

    有時(shí)候本地也需要數(shù)據(jù)庫進(jìn)行測試,那么就需要將服務(wù)器的東西移植到本地,如果有服務(wù)器控制權(quán)限,可以直接復(fù)制mysql的目錄(windows下),如果是別的那么就需要下面的方法了。
    2011-08-08
  • Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑

    Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑

    這篇文章主要介紹了Navicat Premium15連接云服務(wù)器中的數(shù)據(jù)庫問題及遇到坑,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例

    MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例

    在MySQL中,有時(shí)需要從字符串中提取數(shù)字,本文就來介紹一下MySql 字符串中提取數(shù)字的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • MySQL主從復(fù)制原理與配置

    MySQL主從復(fù)制原理與配置

    主從備份是數(shù)據(jù)庫高可用性方案的一種,通過配置主服務(wù)器和從服務(wù)器來實(shí)現(xiàn)數(shù)據(jù)同步,主庫將操作寫入binlog,從庫讀取后復(fù)制數(shù)據(jù),保持一致性,配置包括修改my.cnf文件、重啟數(shù)據(jù)庫、建立連接等步驟,完成后,可以通過特定命令查看從服務(wù)器狀態(tài),確保同步成功
    2024-10-10
  • mysql8中如何設(shè)置sql-mode

    mysql8中如何設(shè)置sql-mode

    這篇文章主要介紹了mysql8中如何設(shè)置sql-mode問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • centos7.2下安裝mysql5.7數(shù)據(jù)庫的命令詳解

    centos7.2下安裝mysql5.7數(shù)據(jù)庫的命令詳解

    這篇文章主要介紹了centos7.2下安裝mysql5.7數(shù)據(jù)庫,文中給出了所有的命令,按照命令執(zhí)行就會(huì)安裝上 ,需要的朋友可以參考下
    2019-07-07
  • MySQL讀取Binlog日志常見的3種錯(cuò)誤

    MySQL讀取Binlog日志常見的3種錯(cuò)誤

    這篇文章主要介紹了MySQL讀取Binlog日志常見的3種錯(cuò)誤,非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • mysql高效導(dǎo)數(shù)據(jù)的方法講解

    mysql高效導(dǎo)數(shù)據(jù)的方法講解

    模擬現(xiàn)網(wǎng)測試,需要搭建測試環(huán)境,導(dǎo)入上億級(jí)的數(shù)據(jù)到數(shù)據(jù)庫。對(duì)于到的問題做些簡單記錄,有需要的朋友可以參考一下
    2013-09-09
  • MySQL的日志基礎(chǔ)知識(shí)及基本操作學(xué)習(xí)教程

    MySQL的日志基礎(chǔ)知識(shí)及基本操作學(xué)習(xí)教程

    這篇文章主要介紹了MySQL的日志基礎(chǔ)知識(shí)學(xué)習(xí)教程,包括MySQL中日志相關(guān)常用的服務(wù)器變量說明,極力推薦!需要的朋友可以參考下
    2015-11-11

最新評(píng)論