首先,定义一张用户表user作为三个语法的例子。

 CREATE TABLE `user` (
  `id` int(10) NOT NULL,
  `name` varchar(20) NOT NULL COMMENT '名字',
  `password` varchar(40) NOT NULL COMMENT '密码',
  `status` tinyint(1) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
INSERT INTO `yxjc`.`user`(`id`, `name`, `password`, `status`) VALUES (1, '张三', '123456', 1);
INSERT INTO `yxjc`.`user`(`id`, `name`, `password`, `status`) VALUES (2, '李四', '123456', 1);

Mysql drop

Mysql drop 是数据定义语言,删除表,会删除表数据和表结构。

语法:

drop table 表名
例子

Mysql中drop

我们看到drop直接把表结构都删除了。

Mysql delete

Mysql delete 是数据操作语言,用于表数据的删除,不会删除表结构。

语法:

delete from 表名 where 

例子

Mysql中delete

Mysql truncate

Mysql truncate 是数据定义语言,用于清空表中所有的数据,但不会删除表结构。

语法

truncate table 表名
例子

Mysql中truncate

总结

  1. delete是数据操作语言,drop和truncate是数据定义语言。
  2. drop会删除表结构,其它仅是删除数据。
  3. delete可以使用事务,可以回滚,drop和truncate则不行。
  4. drop的执行数据最快,truncate次之,delete最慢。