mysql删除一行数据语句是什么(简述delete与truncate的区别)
mysql删除一行数据语句是什么?在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。