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扩展。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)