精华内容
下载资源
问答
  • mysql进阶(二十一)删除表数据

    万次阅读 2016-01-12 19:55:36
    MySQL删除表数据 在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATETABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATETABLE将删除表中的所有记录。因此,DELETE语句...

    MySQL删除表数据

          在MySQL中有两种方法可以删除数据,一种是DELETE语句,另一种是TRUNCATE TABLE语句。DELETE语句可以通过WHERE对要删除的记录进行选择。而使用TRUNCATE TABLE将删除表中的所有记录。因此,DELETE语句更灵活。

          如果要清空表中的所有记录,可以使用下面的两种方法:

           DELETE FROM table1

           TRUNCATE TABLE table1

          其中第二条记录中的TABLE是可选的。

          如果要删除表中的部分记录,只能使用DELETE语句。

           DELETE FROM table1 WHERE ...;

          如果DELETE不加WHERE子句,那么它和TRUNCATE TABLE是一样的,但它们有一点不同,那就是DELETE可以返回被删除的记录数,而TRUNCATE TABLE返回的是0。

          如果一个表中有自增字段,使用TRUNCATE TABLE和没有WHERE子句的DELETE删除所有记录后,这个自增字段将起始值恢复成1.如果你不想这样做的话,可以在DELETE语句中加上永真的WHERE,如WHERE 1或WHERE true。

          DELETE FROM table1 WHERE 1;

           上面的语句在执行时将扫描每一条记录。但它并不比较,因为这个WHERE条件永远为true。这样做虽然可以保持自增的最大值,但由于它是扫描了所有的记录,因此,它的执行成本要比没有WHERE子句的DELETE大得多。  

          DELETE和TRUNCATE TABLE的最大区别是DELETE可以通过WHERE语句选择要删除的记录,但执行速度不快。

          truncate删除后不记录mysql日志,不可以恢复数据。delete的效果有点像将mysql表中所有记录一条一条删除到删完,而truncate相当于保留mysql表的结构,重新创建了这个表,所有的状态都相当于新表。而且还可以返回被删除的记录数。而TRUNCATE TABLE无法删除指定的记录,而且不能返回被删除的记录。但它执行得非常快。

          和标准的SQL语句不同,DELETE支持ORDER BY和LIMIT子句,通过这两个子句,我们可以更好地控制要删除的记录。如当我们只想删除WHERE子句过滤出来的记录的一部分,可以使用LIMIT,如果要删除后几条记录,可以通过ORDER BY和LIMIT配合使用。假设我们要删除users表中name等于"Mike"的前6条记录。可以使用如下的DELETE语句:

          DELETE FROM users WHERE name = 'Mike' LIMIT 6;

          一般MySQL并不确定删除的这6条记录是哪6条,为了更保险,我们可以使用ORDER BY对记录进行排序。

          DELETE FROM users WHERE name = 'Mike' ORDER BY id DESC LIMIT 6;

    美文美图

     

    展开全文
  • sql删除表

    千次阅读 2020-04-16 01:41:30
    drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。 drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储...

    SQL中的语法

    1、drop table 表名称

    drop (删除表):删除内容和定义,释放空间。简单来说就是把整个表去掉.以后要新增数据是不可能的,除非新增一个表。
    drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger)索引(index);依赖于该表的存储过程/函数将被保留,但其状态会变为:invalid。

    2、truncate table 表名称

    truncate (清空表中的数据):删除内容、释放空间但不删除定义(保留表的数据结构)。与drop不同的是,只是清空表数据而已。

    注意:truncate 不能删除行数据,要删就要把表清空。

    3、delete from 表名称 where 列名称 = 值

    delete (删除表中的数据):delete 语句用于删除表中的行。delete语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存,以便进行进行回滚操作。

    区别

    1、truncate与不带where的delete :只删除数据,而不删除表的结构(定义)
    2、truncate table 删除表中的所有行,但表结构及其列、约束、索引等保持不变。如果想保留标识计数值,请改用delete。
    3、如果要删除表定义及其数据,请使用 drop table 语句。
    4、执行速度,一般来说: drop> truncate > delete。
    5、delete语句是数据库操作语言(dml),这个操作会放到 rollback segement中,事务提交之后才生效;如果有相应的 trigger,执行的时候将被触发。
    6、truncate、drop 是数据库定义语言(ddl),操作立即生效,原数据不放到 rollback segment 中,不能回滚,操作不触发 trigger。

    资源来自网上:https://www.cnblogs.com/xianyao/p/11613021.html

    展开全文
  • 删除表空间

    千次阅读 2018-04-15 17:54:47
    (六)、删除表空间当不再需要表空间及其内容时,~ 可以通过drop tablespace命令~从数据库中删除表空间tablespace: 表空间名称including contents: 删除表空间内所有段and datafiles: 删除关联的操作系统文件...

    (六)、删除表空间

    当不再需要表空间及其内容时,~ 可以通过drop tablespace命令~从数据库中删除表空间


    tablespace: 表空间名称
    including contents: 删除表空间内所有段

    and datafiles: 删除关联的操作系统文件
    cascade constraints:如果要删除的表空间之外的表~ 引用了该表空间内表的主键和唯一键~

    则删除这种引用完整性约束



    说明: 表空间mytbs3中包含一个表段,因此必须带including contents子句,~

    即删除表空间的同时~删除表空间中的对象

    加上and datafiles子句~可以删除表空间的数据文件。 

    system表空间中包含了多种段~ 且可能引用其它表空间中的主键,~因此加了cascade constraints子句

    但是system表空间是不能删除的

    使用drop tablespace命令须遵守如下原则:

    如果表空间中包含数据段,~ 须使用including contents选项。

    当表空间包含许多对象时,该选项可能会生成许多undo数据。

    删除表空间后,~其数据将不再包含在数据库内

    删除表空间时,~只删除关联数据库控制文件内的文件指针。
    操作系统文件仍然存在,如果未使用and datafiles 子句或数据文件是omf~

    则必须使用适当的操作系统命令明确删除这些文件。

    即使将表空间切换到只读状态,~仍可以删除该表空间以及其中的段。

    删除表空间之前,~建议将表空间脱机~以确保没有事务访问该表空间内的任何段

    不能删除下列表空间: ~ system表空间、和具有活动段的表空间



    --------------------------------------------

    (七)、获取表空间的相关信息
    https://blog.csdn.net/u012596785/article/details/79964504


    展开全文
  • MySQL删除表的三种方式

    万次阅读 2020-06-08 00:40:17
    文章目录drop tabletruncate (table)delete from三种方式的区别用法总结 drop table drop 是直接删除表信息,速度最快,但是无法找回数据 例如删除 user 表: ...delete 是删除表中的数据,不删除表结构,

    drop table

    drop 是直接删除表信息,速度最快,但是无法找回数据

    例如删除 user 表:

    drop table user;
    

    truncate (table)

    truncate 是删除表数据,不删除表的结构,速度排第二,但不能与where一起使用

    例如删除 user 表:

    truncate table user;
    

    delete from

    delete 是删除表中的数据,不删除表结构,速度最慢,但可以与where连用,可以删除指定的行

    例如删除user表的所有数据

    delete from user;
    

    删除user表的指定记录

    delete from user where user_id = 1;
    

    三种方式的区别

    相同点

    • truncate和不带where子句的delete,drop都会删除表内的数据;

    • drop,truncate都是DDL语句(数据定义语言),执行后会自动提交;

    不同点

    • 语句类型:delete语句是数据库操作语言(DML),truncate,drop是数据库定义语言(DDL);
    • 效率:一般来说 drop > truncate> delete;
    • 是否删除表结构:truncate和delete 只删除数据不删除表结构,truncate 删除后将重建索引(新插入数据后id从0开始记起),而 delete不会删除索引 (新插入的数据将在删除数据的索引后继续增加),drop语句将删除表的结构包括依赖的约束,触发器,索引等;
    • 安全性:drop和truncate删除时不记录MySQL日志,不能回滚,delete删除会记录MySQL日志,可以回滚;
    • 返回值:delete 操作后返回删除的记录数,而 truncate 返回的是0或者-1(成功则返回0,失败返回-1);

    小知识

    delete 与 delete from 区别

    如果只针对一张表进行删除,则效果一样;如果需要联合其他表,则需要使用from

    delete tb1 from tb1 m where id in (select id from tb2);
    

    用法总结

    • 希望删除表结构时,用 drop;

    • 希望保留表结构,但要删除所有记录时, 用 truncate;

    • 希望保留表结构,但要删除部分记录时, 用 delete。

    展开全文
  • Mysql删除表时锁表

    千次阅读 2018-05-24 16:03:31
    Mysql删除表时锁表
  • 删除表数据时有 delete 和 truncate 两种方法 删除表的 T-SQL 语句为: drop table mytablename 删除表数据有两种方法:delete 和 truncate。 delete from mytablename [where条件] truncate table ...
  • 删除普通表,并未真正删除表,只是把该表放在回收站中。 drop table student_infor; 删除带约束的表 drop table tb_date_test cascade constraints; 查看回收站 从回收站中,可以看到已经被删除的两个表,还可以...
  • Hive删除表

    万次阅读 2017-10-22 10:51:51
    本章介绍了如何在Hive中删除表。当从Hive Metastore删除表,它删除了表/列的数据及其元数据。它可以是一个正常的表(存储在Metastore)或外部表(存储在本地文件系统); 不论什么类型Hive对待的方式相同。 Drop Table...
  • SQL Server中,删除表删除表中数据

    万次阅读 2016-12-22 12:12:23
    SQL Server,我们现在基本上使用的最古老的版本应该是SQL...今天我们就来说说如何使用T-SQL脚本来删除表,以及删除表中的数据。 删除表删除表数据这是两回事!删除表表示不管表中有没有数据,将该数据库表彻底抹去
  • Hive表删除表部分数据

    万次阅读 2018-11-16 11:18:56
    1、hive表删除数据不能使用DELETE FROM table_name 中SQL语句 2、hive表删除数据要分为不同的粒度:table、partition、partition内 一、有partition 1. 删除具体partition alter table table_name drop ...
  • SQL Server中如何删除表,如何删除表中的数据。删除表的T-SQL语句为:drop table <表名>drop是丢弃的意思,drop table表示将一个表彻底删除掉。删除表数据有两种方法:delete和truncate。delete的用法...
  • Oracle之删除表

    万次阅读 2018-03-06 20:45:50
    TRUNCHAR TABLE tbale_name(删除表中的所有数据,并不是删除表)比delete要快很多SQL> truncate table new_userinfo;表被截断。DROP TABLE table_name (删除表的结构)SQL> drop table new_userinfo;表...
  • Oracle删除用户与删除表

    千次阅读 2018-08-12 19:02:00
    删除用户: drop user user_name cascade; #级联删除该用户下所有的数据对象 删除表:drop table table_name purge; #删除表同时清空回收站
  • Hive删除表中数据

    万次阅读 2019-07-12 11:40:44
    方式一:仅删除表中数据,保留表结构 truncate table 表名; (truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的) 或delete from 表名 where 1 = 1 ; (delete用于删除特定条件下的行,使用...
  • Hbase删除表

    万次阅读 2017-04-21 10:15:29
    用drop命令可以删除表。在删除一个表之前必须先将其禁用。 hbase(main):018:0> disable 'emp' 0 row(s) in 1.4580 seconds hbase(main):019:0> drop 'emp' 0 row(s) in 0.3060 seconds 使用exists 命令验证表...
  • oracle删除表数据

    万次阅读 2018-05-13 10:40:58
    truncate,意思为截断表,能够不占用资源的全部删除表,优点是速度快,缺点是删除不能恢复,不能按条件删除。 delete,意思为删除,此操作占用redolog,优点能够快速恢复和选择删除,缺点是删除慢,大批量的...
  • SQLServer删除表

    千次阅读 2019-06-03 16:24:57
    删除表的T-SQL语句为: drop table <表名> drop是丢弃的意思,drop table表示将一个表彻底删除掉。 删除表数据有两种方法:delete和truncate。 delete的用法如下: delete from <表名> [where条件] ...
  • oracle删除表语句

    千次阅读 2019-04-19 16:17:00
    删除表(记录和结构)的语名delete————truncate————drop  DELETE(删除数据表里记录的语句)  DELETEFROM表名WHERE条件;  注意:删除记录并不能释放ORACLE里被占用的数据块表空间.它只把那些被...
  • 在insert所在的类中加一个删除的方法即可, 方法中的代码很简单,一行解决问题 database.execSQL("drop table if exists " + TABLE_NAME); //这个是将表删除 ... //删除表中的数据,表还是要保留的
  • Hive操作——删除表(drop、truncate)

    万次阅读 多人点赞 2019-07-02 10:57:30
    我将以下图为例清空iot_devicelocation中的数据,之后再删除表、库等。 首先来看一下iot_deivcelocation中的数据。select * fromiot_deivcelocation。 一、仅删除表中数据,保留表结构 hive> truncate ...
  • 1、删除表中所有数据,但保留表结构(可用以下两个语句): truncate table 表名; // Primary KEY 重新从1 开始递增 delete from 表名; //Primary KEY 不从1 开始递增...
  • mysql删除表的命令

    万次阅读 2018-10-25 15:31:18
    MySQL 删除表的几种情况: 1 drop table table_name : 删除表全部数据和表结构,会立刻释放磁盘空间, 2 truncate table table_name : 删除表全部数据,保留表结构,立刻释放磁盘空间。(此时可以通过desc ...
  • 如果表不存在,而强行去删除表,SQL会报错;类似的如果表已经存在而强行去创建同名表,SQL会报错。需要一种方法安全地删除和创建表,解决方案的核心在于“exists”关键字。 安全地删除某表(drop table if exists +...
  • sql删除表清除表数据修改表结构

    千次阅读 2016-10-25 16:51:21
    删除表(包括表结构及表数据) drop table student; 清除表数据 truncate table student; 修改表结构 1、添加一列 在student表中添加一列sname alter table student add sname varchar(30); 2、修改列 在student表...
  • oracle 删除表空间

    万次阅读 2018-08-21 19:37:13
    删除表空间 数据文件不会删除drop tablespace “tbs4”; 文件还在  数据文件会一起删除drop tablespace tbs4 including contents and datafiles; 文件消失 
  • mysql删除表数据几种情况

    万次阅读 2018-09-01 00:29:07
    1、drop table table_name: 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb 和 MyISAM; 实例,删除学生表: drop table student; 2、truncate table table_name: 删除表全部数据,保留表结构,立刻...
  • 一、删除表drop table 表名;drop table t_userinfo;二、删除表数据(1)DML操作deletedelete from 表名;(2)DDL操作truncatetruncate table 表名;三、恢复(1)恢复删除的表Oracle 10g提供恢复操作flashback ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 176,705
精华内容 70,682
关键字:

删除表