增删改查四个步骤,这里简单介绍一下删除数据。在MySQL中,可以使用DELETE语句来删除表的一行或者多行数据。
语法格式为:
DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句]
- <表名>:指定要删除数据的表名;
- ORDER BY 子句:可选项。表示删除时,表中各行将按照子句中指定的顺序进行删除;
- WHERE 子句:可选项。表示为删除操作限定删除条件,若省略该子句,则代表删除该表中的所有行;
- LIMIT 子句:可选项。用于告知服务器在控制命令被返回到客户端前被删除行的最大值。
【删除表中的全部数据】
删除test表中的全部数据,SQL语句如下↓
DELETE FROM test;
【根据条件删除数据】
在test表中,删除Name为王发林的记录,SQL如下↓
DELETE FROM test WHERE NAME = "王发林";
【TRUNCATE 】
TRUNCATE关键字用于完全清空一个表。语法如下↓
TRUNCATE [TABLE] 表名
使用TRUNCATE语句清空 test表中的记录,SQL如下↓
TRUNCATE TABLE test;
DELETE关键词和TRUNCATE的区别
- DELETE关键词是属于DML语句;TRUNCATE关键词属于DDL语句。但是它们的作用都用来清空数据表中的数据;
- DELETE关键词是逐条记录一条一条的删除记录;而TRUNCATE是直接删除原来的表,然后再重新创建一个字段结果完全一样的新表格,执行数据比DELETE快;
- DELETE删除数据后,可以找回数据;但是TRUNCATE不支持回滚,删除数据后无法找回;
- DELETE可以通过WHERE子句指定条件来删除部分数据;而TRUNCATE只能删除整体;
- DELETE会返回删除数据的行数,但是TRUNCATE只会返回 0,没有任何意义。
当不需要该表时,用DROP;当仍要保留该表,但要删除所有记录时,用TRUNCATE;当要删除部分记录时,用DELETE。