MYSQL数据库mysql 删除操作(delete+TRUNCATE)
《MYSQL数据库mysql 删除操作(delete+TRUNCATE)》要点: MYSQL利用delete MYSQL利用语法 MYSQL利用单表语法: MYSQL利用DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM tbl_name MYSQL利用DELETE [LOW_PRIORITY] [QUICK] [IGNORE] MYSQL应用DELETE [LOW_PRIORITY] [QUICK] [IGNORE] MYSQL利用DELETE语句支持以下修饰符: MYSQL应用?如果您指定LOW_PRIORITY,则DELETE的执行被延迟,直到没有其它客户端读取本表时再执行. MYSQL应用QUICK修饰符会影响到在删除操作中索引端结点是否合并.当用于被删除的行的索引值被来自后插入的行的相近的索引值取代时,DELETE QUICK最为适用.在此情况下,被删除的值留下来的空间被重新使用. MYSQL应用未充满的索引块跨越某一个范围的索引值,会再次产生新的插入.当被删除的值导致出现未充满的索引块时,DELETE QUICK没有作用.在此情况下,使用QUICK会导致未利用的索引中出现废弃空间. MYSQL应用如果您盘算从一个表中删除许多行,使用DELETE QUICK再加上OPTIMIZE TABLE可以加快速度.这样做可以重新建立索引,而不是进行大量的索引块合并操作. MYSQL应用用于DELETE的MySQL唯一的LIMIT row_count选项用于告知服务器在控制命令被返回到客户端前被删除的行的最年夜值.本选项用于确保一个DELETE语句不会占用过多的时间.您可以只重复DELETE语句,直到相关行的数目少于LIMIT值为止. MYSQL应用如果DELETE语句包括一个ORDER BY子句,则各行依照子句中指定的顺序进行删除.此子句只在与LIMIT联用是才起作用.例如,以下子句用于查找与WHERE子句对应的行,使用timestamp_column进行分类,并删除第一(最旧的)行: MYSQL应用DELETE FROM somelog WHERE user = 'jcole' ORDER BY timestamp_column LIMIT 1;可以同时删除很多个表中的行,并使用其它的表进行搜索: MYSQL利用DELETE t1,t2 FROM t1,t2,t3 WHERE t1.id=t2.id AND t2.id=t3.id; MYSQL应用当搜索待删除的行时,这些语句使用所有三个表,然则只从表t1和表t2中删除对应的行. MYSQL应用以上例子显示了使用逗号操作符的内部联合,但是多表DELETE语句可以使用SELECT语句中允许的所有类型的联合,好比LEFT JOIN,不过,您不能在一个多表DELETE语句中使用ORDER BY或LIMIT. MYSQL应用当引用表名称时,您必需使用别名(如果已给定): MYSQL利用DELETE t1 FROM test AS t1,test2 WHERE ... MYSQL应用进行多表删除时支持跨数据库删除,但是在此情况下,您在引用表时不能使用别号.举例说明: MYSQL利用DELETE test1.tmp1,test2.tmp2 FROM test1.tmp1,test2.tmp2 WHERE ... MYSQL应用目前,您不克不及从一个表中删除,同时又在子查询中从同一个表中选择. MYSQL利用TRUNCATE MYSQL利用语法 MYSQL应用TRUNCATE [TABLE] tbl_nameTRUNCATE TABLE用于完全清空一个表.从逻辑上说,该语句与用于删除所有行的DELETE语句等同,但是在有些情况下,两者在使用上有所分歧. MYSQL应用对于InnoDB表,如果有必要引用表的外键限制,则TRUNCATE TABLE被映射到DELETE上;否则使用快速删减(取消和重新创建表).使用TRUNCATE TABLE重新设置AUTO_INCREMENT计数器,设置时不考虑是否有外键限制. MYSQL应用对于其它存储引擎,TRUNCATE TABLE与DELETE FROM有以下几处分歧: MYSQL应用?删减操作会取消并重新创建表,这比一行一行的删除行要快很多. MYSQL利用转自 http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html#delete 欢迎参与《MYSQL数据库mysql 删除操作(delete+TRUNCATE)》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |