mysql删除语句

mysql删除语句,第1张

mysql删除语句如下:

1、delete删除一行:delete from student where id=1。

2、delete删除多行:delete from student where in (1,2,3)3。

3、删除表的所有数据:delete from student,请使用不带where子句的delete语句。

语法说明如下:

<数据库名>:指定要删除的数据库名。

IF EXISTS:用于防止当数据库不存在时发生错误。

DROP DATABASE:删除数据库中的所有表格并同时删除数据库。使用此语句时要非常小心,以免错误删除。如果要使用 DROP DATABASE,需要获得数据库 DROP 权限。

扩展资料:

MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

常用命令:

1、使用SHOW语句找出在服务器上当前存在什么数据库:mysql>SHOW DATABASES。

2、创建一个数据库MYSQLDATA:mysql>CREATE DATABASE MYSQLDATA。

3、选择你所创建的数据库:mysql>USE MYSQLDATA。(按回车键出现Database changed 时说明 *** 作成功!)

4、查看现在的数据库中存在什么表:mysql>SHOW TABLES。

参考资料:百度百科—MySQL数据库

参考资料:百度百科—delete

项目中,我们常常会发现有些表的数据量增长过快,SQL 扫描的时候,需扫很多无效的数据,导致SQL 慢了下来。有些数据业务上

并不是非常的重要,或者具有时效性,如果使用DELETE 将其删除,那么是否能优化性能呢?

创建测试表

查询性能

-- 均值:15.19 ms

删除 50w数据,再进行查询

-- 均值:30.07ms

mysql delete *** 作并不会直接把数据删除,而且会增加碎片率。

DELETE语句和TRUNCATE语句,都是删除数据表中的数据,但是它们对数据库的影响是很不一样的。一般来讲DELETE用于日常数据表的删除 *** 作,TRUNCATE则用于对数据库整体性的维护性 *** 作。如果您不是数据库管理员,特别是对TRUNCATE语句的影响不太了解的情况下,请不要使用TRUNCATE语句。下面TRUNCATE语句说明取自MySql用户手册,供参考。

TRUNCATE语法

TRUNCATE

[TABLE]

tbl_name

TRUNCATE

TABLE用于完全清空一个表。从逻辑上说,该语句与用于删除所有行的DELETE语句等同,但是在有些情况下,两者在使用上有所不同。

对于InnoDB表,如果有需要引用表的外键限制,则TRUNCATE

TABLE被映射到DELETE上;否则使用快速删减(取消和重新创建表)。使用TRUNCATE

TABLE重新设置AUTO_INCREMENT计数器,设置时不考虑是否有外键限制。

对于其它存储引擎,在MySQL

5.1中,TRUNCATE

TABLE与DELETE

FROM有以下几处不同:

·

删减 *** 作会取消并重新创建表,这比一行一行的删除行要快很多。

·

删减 *** 作不能保证对事务是安全的;在进行事务处理和表锁定的过程中尝试进行删减,会发生错误。

·

被删除的行的数目没有被返回。

·

只要表定义文件tbl_name.frm是合法的,则可以使用TRUNCATE

TABLE把表重新创建为一个空表,即使数据或索引文件已经被破坏。

·

表管理程序不记得最后被使用的AUTO_INCREMENT值,但是会从头开始计数。即使对于MyISAM和InnoDB也是如此。MyISAM和InnoDB通常不再次使用序列值。

·

当被用于带分区的表时,TRUNCATE

TABLE会保留分区;即,数据和索引文件被取消并重新创建,同时分区定义(.par)文件不受影响。

TRUNCATE

TABLE是在MySQL中采用的一个Oracle

SQL扩展。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8613691.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存