最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL清空數(shù)據(jù)表的方法實(shí)例與分析

 更新時(shí)間:2016年10月04日 14:05:47   投稿:daisy  
這篇文章給大家詳細(xì)介紹了MySQL清空數(shù)據(jù)表的方法,文中給出了實(shí)例代碼,對大家學(xué)習(xí)使用MySQL具有一定的參考借鑒價(jià)值,有需要的可以參考借鑒,下面來一起看看吧。

MySQL數(shù)據(jù)庫中,如果我們想清空數(shù)據(jù)表(刪除數(shù)據(jù)表中所有內(nèi)容)的話,可以通過下面兩個(gè)語句來實(shí)現(xiàn):

truncate table table_n;

delete from table_n;

實(shí)例

我們先通過實(shí)例看下通過這兩種方式清空數(shù)據(jù)庫的過程和結(jié)果

#delete演示
mysql> create table testforde(
 -> number int not null auto_increment,
 -> name varchar(20) not null,
 -> primary key(number)
 -> );
Query OK, 0 rows affected (0.05 sec)

#truncate演示
mysql> create table testfortr(
 -> number int not null auto_increment,
 -> name varchar(20) not null,
 -> primary key(number)
 -> );
Query OK, 0 rows affected (0.04 sec)

以上是兩張同樣結(jié)構(gòu)的數(shù)據(jù)表,下面我們先插入數(shù)據(jù),然后再分別用 delete truncate 操作它們,看下結(jié)果如何

mysql> insert into testforde(name) values('zhagnsan'),('lisi'),('wanger'),('zhaoliu'),('xiaosan'),('qiqi'),('hanba');
Query OK, 7 rows affected (0.04 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> insert into testfortr(name) values('zhagnsan'),('lisi'),('wanger'),('zhaoliu'),('xiaosan'),('qiqi'),('hanba');
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> select * from testforde;
+--------+----------+
| number | name  |
+--------+----------+
|  1 | zhagnsan |
|  2 | lisi  |
|  3 | wanger |
|  4 | zhaoliu |
|  5 | xiaosan |
|  6 | qiqi  |
|  7 | hanba |
+--------+----------+
7 rows in set (0.01 sec)

mysql> select * from testfortr;
+--------+----------+
| number | name  |
+--------+----------+
|  1 | zhagnsan |
|  2 | lisi  |
|  3 | wanger |
|  4 | zhaoliu |
|  5 | xiaosan |
|  6 | qiqi  |
|  7 | hanba |
+--------+----------+
7 rows in set (0.00 sec)

mysql> delete from testforde;
Query OK, 7 rows affected (0.02 sec)

mysql> truncate table testfortr;
Query OK, 0 rows affected (0.02 sec)

mysql> insert into testforde(name) values('zhagnsan'),('lisi'),('wanger'),('zhaoliu'),('xiaosan'),('qiqi'),('hanba');
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> insert into testfortr(name) values('zhagnsan'),('lisi'),('wanger'),('zhaoliu'),('xiaosan'),('qiqi'),('hanba');
Query OK, 7 rows affected (0.00 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> select * from testforde;
+--------+----------+
| number | name  |
+--------+----------+
|  8 | zhagnsan |
|  9 | lisi  |
|  10 | wanger |
|  11 | zhaoliu |
|  12 | xiaosan |
|  13 | qiqi  |
|  14 | hanba |
+--------+----------+
7 rows in set (0.00 sec)

mysql> select * from testfortr;
+--------+----------+
| number | name  |
+--------+----------+
|  1 | zhagnsan |
|  2 | lisi  |
|  3 | wanger |
|  4 | zhaoliu |
|  5 | xiaosan |
|  6 | qiqi  |
|  7 | hanba |
+--------+----------+
7 rows in set (0.00 sec)

從上面操作過程和結(jié)果不難看出,它們最大的區(qū)別就是delete在不限定where條件下清空表的話,不會(huì)重置auto_increment的值,新插入的會(huì)隨著上次的值接著增加;而truncate則不然,他會(huì)直接重置為1(其實(shí)這里它做的操作可以理解為直接刪除表結(jié)構(gòu)和內(nèi)容,然后按照表結(jié)構(gòu)重建表)

那么除了上面能明顯看出來的區(qū)別之外,他們還存在以下幾點(diǎn)區(qū)別:

    1、truncate是整個(gè)清空的,而delete是逐行刪除的。相較而言,truncate效率較高。

    2、在事物處理方面,truncate 可能不會(huì)那么安全。因?yàn)?delete 語句是數(shù)據(jù)庫操作語言(dml),這個(gè)操作會(huì)放到 rollback segement 中,事務(wù)提交之后才生效;如果有相應(yīng)的 trigger,執(zhí)行的時(shí)候?qū)⒈挥|發(fā)。而 truncate 是數(shù)據(jù)庫定義語言(ddl),操作立即生效,原數(shù)據(jù)不放到 rollback segment 中,不能回滾,操作不觸發(fā) trigger。

    3、truncate 只能做清空表使用,而 delete 可以配合 where,order by,limit 等字句使用,所以在靈活方面,delete完勝。

    4、truncate操作不會(huì)記錄到日志中,而delete則是記錄的。

    5、正是由于 truncate 操作不會(huì)記錄到日志中,所以它不會(huì)激活觸發(fā)器。所以對于由 foreign 約束引用的表,不能使用 truncate table,而應(yīng)使用不帶 where 子句的 delete 語句。

    6、truncate 不能用于參與了索引視圖的表

總結(jié)

以上就是MySQL清空數(shù)據(jù)表的全部內(nèi)容了,希望這篇文章的內(nèi)容對大家的學(xué)習(xí)或者工作能有所幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • MySQL8.0.11版本的新增特性介紹

    MySQL8.0.11版本的新增特性介紹

    這篇文章主要介紹了MySQL8.0.11版本的新增特性介紹,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-05-05
  • MySQL語句之MD5()的使用方式

    MySQL語句之MD5()的使用方式

    這篇文章主要介紹了MySQL語句之MD5()的使用方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • 解決MySQL中的Slave延遲問題的基本教程

    解決MySQL中的Slave延遲問題的基本教程

    這篇文章主要介紹了解決MySQL中的Slave延遲問題的基本教程,文中針對不同情況給出了一些具體的解決方法,需要的朋友可以參考下
    2015-11-11
  • 關(guān)于MySQL數(shù)據(jù)庫死鎖的案例和解決方案

    關(guān)于MySQL數(shù)據(jù)庫死鎖的案例和解決方案

    MySQL Update語句防止死鎖是指在修改MySQL數(shù)據(jù)庫的數(shù)據(jù)時(shí),為避免多個(gè)進(jìn)程同時(shí)修改同一數(shù)據(jù)行而造成死鎖的情況,引入了一些機(jī)制來防止死鎖的產(chǎn)生,本文介紹了一個(gè) MySQL 數(shù)據(jù)庫死鎖的案例和解決方案,需要的朋友可以參考下
    2023-09-09
  • mysql 報(bào)錯(cuò)This function has none of DETERMINISTIC解決方案

    mysql 報(bào)錯(cuò)This function has none of DETERMINISTIC解決方案

    這篇文章主要介紹了mysql 報(bào)錯(cuò)This function has none of DETERMINISTIC解決方案的相關(guān)資料,需要的朋友可以參考下
    2016-11-11
  • 一次非法關(guān)機(jī)導(dǎo)致mysql數(shù)據(jù)表損壞的實(shí)例解決

    一次非法關(guān)機(jī)導(dǎo)致mysql數(shù)據(jù)表損壞的實(shí)例解決

    本文介紹由于非法硬件關(guān)機(jī),造成了mysql的數(shù)據(jù)表損壞,數(shù)據(jù)庫不能正常運(yùn)行的一個(gè)實(shí)例,接下來是作者排查錯(cuò)誤的過程,希望對大家能有所幫助
    2013-01-01
  • MySQL 用 limit 為什么會(huì)影響性能

    MySQL 用 limit 為什么會(huì)影響性能

    對于小的偏移量,直接使用limit來查詢沒有什么問題,但隨著數(shù)據(jù)量的增大,越往后分頁,limit語句的偏移量就會(huì)越大,速度也會(huì)明顯變慢,接下來文章就向大家介紹其的原由,感興趣的小伙伴可參考下面文章具體內(nèi)容
    2021-09-09
  • MySQL Server 8.0.13.0 安裝教程圖文詳解

    MySQL Server 8.0.13.0 安裝教程圖文詳解

    本文通過圖文并茂的形式給大家介紹了MySQL Server 8.0.13.0 安裝教程 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-04-04
  • Windows下mysql-5.7.28下載、安裝、配置教程圖文詳解

    Windows下mysql-5.7.28下載、安裝、配置教程圖文詳解

    這篇文章主要介紹了Windows下mysql-5.7.28下載、安裝、配置教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Navicat for Mysql 字段注釋中文亂碼問題及解決

    Navicat for Mysql 字段注釋中文亂碼問題及解決

    這篇文章主要介紹了Navicat for Mysql 字段注釋中文亂碼問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09

最新評論

来凤县| 定襄县| 和顺县| 孙吴县| 祁门县| 天峻县| 桃园县| 南丰县| 黄大仙区| 茂名市| 定结县| 西乡县| 昌邑市| 和平县| 象州县| 万载县| 大同市| 兰坪| 勃利县| 中宁县| 嘉黎县| 宣威市| 思茅市| 邵东县| 嘉善县| 奈曼旗| 宁河县| 桦川县| 吉林省| 巴塘县| 新民市| 伽师县| 汉寿县| 海口市| 和田市| 宝应县| 逊克县| 桂林市| 绿春县| 蓝田县| 乌兰浩特市|