
要删除MySQL数据库中的所有数据,有几种方法:
1、删除数据库里所有内容,包括表:可以删除数据库然后新建数据库就好了。
方法:drop database if exists 'dataBaseName';
CREATE DATABASE IF NOT EXISTS `dataBaseName`
这种方式快捷,一步到位。
还可以用如下方法删除整张表:
truncate tableName;
delete from tableName;
上面两种方法里,第一个直接删除表,不放到回收站;第二种方法删除表之后会放到回收站;
2、连同数据库用户也删除,以后不用了,那可以只做:drop database if exists 'dataBaseName'; 即可;
3、只删除数据库里的数据:
delete from tableName;
删除表里的全部数据。
删除数据的速度: drop> truncate > delete
drop、delete和truncate的比较:
一、Delete :删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行)。
删除某一行:Delete from 数据表名称 where 列名称=值;
删除所有行:Delete from 数据表名称
二、Drop :删除数据表或数据库,或删除数据表字段。
删除数据库:drop database 数据库名称
删除数据表:(表的结构、属性、索引也会被删除)
use 数据库名称
drop table 数据表1名称,数据表2名称
删除数据表字段(列):
use 数据库名称
alter table 数据表名称
drop column 字段名(列名称)
三、Truncate:删除数据表中的数据(仅数据表中的数据,不删除表)。 truncate table 数据表名称“ TRUNCATE TABLE语句是一种快速、无日志记录的方法。TRUNCATE TABLE语句与不含有 WHERE 子句的 DELETE 语句在功能上相同。但是,TRUNCATE TABLE语句速度更快,并且使用更少的系统资源和事务日志资源。”
delete from 表名:删除所有记录,表结构还在,写日志,可以恢复的,速度慢。
drop talbe 表名:删除表的结构和数据。
truncate talbe 表名:删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
出没场合:drop table tb --tb表示数据表的名字。绝招:删除内容和定义,释放空间。简单来说就是把整个表去掉以后要新增数据是不可能的,除非新增一个表,例如:一个班就是一个表,学生就是表中的数据,学生的职务就是定义,drop table class,就是把整个班移除学生和职务都消失。
1、drop database:数据库名--删除数据库的。
2、drop table:表名--删除表的。
3、delete from:表名--where条件--删除数据的。
4、truncate table:表名--也是删除数据库的。
1、SQL即结构化查询语言(Structured Query Language),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
2、SQL语句无论是种类还是数量都是繁多的,很多语句也是经常要用到的,SQL查询语句就是一个典型的例子,无论是高级查询还是低级查询,SQL查询语句的需求是最频繁的。
delete 是删除表中数据
例如:
delete table_temp;delete table_temp where id=3;
Drop 是删除数据库中的对象
例如:
drop table table_temp --删除表drop proc Usp_UserLogin --删除存储过程
DELETE FROM 表名;只能删除数据表内的内容,不能删除表结构
DROP TABLE 表名;删除内容和定义,释放空间
TRUNCATE TABLE 表名;删除内容、释放空间但不删除定义。与drop不同的是,他只是清空表数据而已,不删除表结构。
truncate 比 delete速度快,且使用的系统和事务日志资源少。
truncate *** 作后的表比Delete *** 作后的表要快得多。
当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。
当表中的数据不需要时 则应该删除该数据并释放所占用的空间 删除表中的数据可以使用Delete语句或者Truncate语句 下面分别介绍 一 delete语句 ( )有条件删除 语法格式 delete [from] table_name [where condition]; 如 删除users表中的userid为 的数据 delete from users where userid= ; ( )无条件删除整个表数据 语法格式 delete table_name; 如 删除user表中的所有数据 delete users ; 二 Truncate语句 使用Truncate语句是删除表中的所有记录 语法格式 Truncate [table] table_name; ( )删除所有记录不保留记录占用空间 Truncate [table] table_name [drop storage]; 如 删除users表中的所有数据并不保存占用空间 Truncate table users drop storage; 由于默认使用drop storage关键字 所以可以省略 drop storage; ( )删除所有记录保留记录占用空间 Truncate [table] table_name [reuse storage]; 如 删除users表中的所有数据并保存占用空间 Truncate table users reuse storage; 三 两种删除语句的对比 由于delete语句删除记录时候 记录是逐条删除的 而Truncate 语句删除数据时不产生回退信息 所以如果需要删除大量数据的时候使用delete则占用较多的系统资源 而如果使用Truncate 则会快的多 下面通过实例说明一下 首先建立user表 create table users ( userid varchar ( ) username varchar ( ) userpass varchar ( ) );复制代码 接着插入一条数据 insert into users values( GavinDream ); 使用复制插入方法插入几万条数据 insert into users(userid username userpass) select from users;我插入了 条数据 使用delete删除花费时间为 seconds 然后又插入了二倍的数据 但使用truncate花费时间仅仅为 seconds 如下图所示 lishixinzhi/Article/program/Oracle/201405/30860
以上就是关于怎么完整删除一个数据库全部的内容,包括:怎么完整删除一个数据库、数据库表的删除方式有drop、delete和truncate各有什么特点、删除数据库的sql语句如何写等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)