• MySQL笔记-turncat、drop、delete的区别


    TRUNCATE
    语法: TRUNCATE TABLE [schema.] table [{DROP | REUSE} STORAGE]
    功能: 删除整个表的数据并释放空间
     
    描述:
    1. 由于Truncate 是DDL 命令,所以执行过程中原数据不放在Rollback Segment 中,不产生回滚数据 ,不产生Redo Log 。
    2. Truncate , Drop 等DDL命令都是隐含提交的。
    3. 需要drop的操作权限
    4. 相当于这样的流程:先drop table 然后 create table。
    5. 不记录日志,无法恢复
    6. auto increatment 自增会恢复从头开始自增。
    7. 执行速度比delete快
     
     
    DELETE 
    DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name
        [PARTITION (partition_name,...)]
        [WHERE where_condition]
        [ORDER BY ...]
        [LIMIT row_count]
    1. delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。
    2. 有where条件删除where条件中所限制的数据;没有where条件则删除所有的数据
    3. 如果有order by从句,则根据order by的排序顺序依次删除,如果有limit 从句则只删除limit限制的数量
    4. 执行速度最慢,但是安全性最高
     
    DROP
    DROP [TEMPORARY] TABLE [IF EXISTS]
        tbl_name [, tbl_name] ...
        [RESTRICT | CASCADE]
    1. 直接删除表结构的文件和数据文件,执行速度最快
  • 相关阅读:
    内核模块的一些问题
    [转]change the linux startup logo
    raspbian 静态IP
    [转]centos7 配置yum源(本地+光盘)
    [转]source inslght使用指导
    T420修改wifi灯闪动模式
    root运行chrome
    [转]理解阻塞非阻塞与同步异步
    [转] 计算机体系架构分类
    Win7下安装 Oracle Virtual Box
  • 原文地址:https://www.cnblogs.com/ymkfnuiwgij/p/6486684.html
Copyright © 2020-2023  润新知