删除语句sql一条数据

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、SQL DELETE 语句
使用DELETE从表中删除目标行。

记录每次删除操作。

DELETE FROM table_name
WHERE some_column=some_value;
请注意SQL DELETE 语句中的WHERE 子句!WHERE 子句规定哪条记录或者哪些记录需要删除。

如果您省略了WHERE 子句,所有的记录都将被删除!即您可以在不删除表的情况下,删除表中所有的行。

这意味着表结构、属性、索引将保持不变。

DELETE FROM table_name;

DELETE*FROM table_name;
二、SQL DROP 语句
通过使用DROP 语句,可以轻松地删除索引、表和数据库。

(1)DROP INDEX 语句
DROP INDEX 语句用于删除表中的索引。

MySQL 的DROP INDEX语法:
ALTER TABLE table_name DROP INDEX index_name
(2)DROP TABLE 语句
DROP TABLE 语句用于删除整个表。

同时整个表的结构都被删除。

DROP TABLE table_name
(3)DROP DATABASE 语句
DROP DATABASE 语句用于删除整个数据库。

DROP DATABASE database_name
三、SQL TRUNCATE 语句
如果我们仅仅需要删除表内的数据,但并不删除表本身,即表结构及其列、约束、索引等保持不变。

可以使用TRUNCATE TABLE 语句:TRUNCATE TABLE table_name
四、DELETE 与TRUNCATE 的区别
(1)TRUNCATE TABLE 语句与不带WHERE 子句的DELETE 语句作用相同:二者均删除表中的全部行。

但TRUNCATE TABLE 比DELETE 速度快,且使用的系统和事务日志资源少。

(2)DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。

TRUNCATE TABLE 通过释放存储表数据所用的数据页来删除数据,并且只在事务日志中记录页的释放。

delete可以返回被删除的记录数,而truncate table返回的是0。

(3)对于由FOREIGN KEY 约束引用的表,不能使用TRUNCATE TABLE,而应使用不带WHERE 子句的DELETE 语句。

由于TRUNCATE TABLE 不记录在日志中,所以它不能激活触发器。

(4)TRUNCATE TABLE 不能用于参与了索引视图的表。

如果要删除表中的所有数据,建议使用truncate table,尤其是表中有大量的数据。

使用truncate table是将表结构重新建一次,速度要比使用delete 快很多,而delete 是一行一行的删除,速度很慢。

相关文档
最新文档