MySQL增删改查之删_delete-truncate

一、DELETE语句

  删除数据记录

1、在单表中删除行

语法:

DELETE  [IGNORE] FROM  tbl_name
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]

  ①从表中删除满足WHERE条件的所有行;

  ②没有WHERE条件,则删除表中的所有行

基本格式:

  delete from <表名> where <条件表达式>;

  删除符合指定条件表达式的行记录

注意:

  不能在delete和from中间指定列名,因为记录要删,总是按照行来删除的,不存在删除一行记录的某几列的值的情况。

例1:删除44号球员的罚款

DELETE FROM penalties

  WHERE playerno=44;

例2:带子查询

DELETE FROM <表1>

  WHERE joined >

  (SELECT avg(joined) FROM <表2> WHERE town = 'Stratford');

注意:在WHERE子句的子查询中,不允许访问要删除行的表

DELETE FROM <表1>

  WHERE joined >

  (SELECT avg(joined) FROM <表1> WHERE town = 'Stratford');

错误代码:1093

You can't specify target table '<表1>' for update in FROM clause

用在DELETE语句中的ORDER BY子句和LIMIT子句的含义和用在UPDATE语句中是类似的

例3:删除4个最高的罚款

DELETE FROM penalties

  ORDER BY amount DESC,playerno ASC

  LIMIT 4;

2、从多个表中删除行

语法:

DELETE [IGNORE] tbl_name[.*] [, tbl_name[.*]] ...
FROM table_references
[WHERE where_condition]

注意:如果FROM中的表有别名,在DELETE子句中只能使用表别名

示例:从teams和matches表中删除所有3号球队的行

DELETE  teams, matches

  FROM  teams, matches

  WHERE  teams.teamno = matches.teamno

  AND  teams.teamno=3;

解析:两个表中满足连接条件teams.teamno = matches.teamno和过滤条件teams.teamno=3的所有行被删除

二、TRUNCATE语句

  清空一张(大)表更有效的方法是使用TRUNCATE语句,比DELETE快得多。

语法:

  TRUNCATE [TABLE] tbl_name

与delete的区别:

相同点:

  truncate和 delete只删除表中数据不删除表的结构

不同点:

  用truncate,保留表结构(定义),但删除表中所有记录;

  用delete,只是删除部分记录(always with a WHERE clause)

MySQL之删_delete-truncate的更多相关文章

  1. MySQL DELETE语句和TRUNCATE TABLE语句的区别

    MySQL DELETE语句和TRUNCATE TABLE语句的区别 2010-10-08 16:05 佚名 互联网 字号:T | T 在MySQL数据库中,DELETE语句和TRUNCATE TAB ...

  2. MySql的Delete、Truncate、Drop分析

    MySql的Delete.Truncate.Drop分析 相同点: truncate 和不带 where 子句的 delete,以及 drop 都会删除表内的数据 不同点 1. truncate 和 ...

  3. Mysql怎样删除以“#sql-”开头的暂时表

    author:skate time:2014/09/28 Mysql怎样删除以"#sql-"开头的暂时表 现象:在重建索引后,发现Mysqlserver的磁盘空间快满了 在用例如以 ...

  4. mysql中 drop、truncate和delete的区别

    mysql中drop.truncate和delete的区别 (1)DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作. TRUNC ...

  5. MySQL从删库到跑路(三)——SQL语言

    作者:天山老妖S 链接:http://blog.51cto.com/9291927 一.SQL语言简介 1.SQL语言简介 SQL是结构化查询语言(Structured Query Language) ...

  6. mysql之drop、truncate和delete的区别

    今天在整理mysql数据库笔记的时候突然想到一个问题,就是drop.truncate和delete的区别,乍一看三者都是有删除的功能,但是具体来看还是有很多区别的.我先把这三个的作用简单说一下,有前辈 ...

  7. Go语言之进阶篇mysql增 删 改 查

    一.mysql操作基本语法 1.创建名称nulige的数据库 CREATE DATABASE nulige DEFAULT CHARSET utf8 COLLATE utf8_general_ci; ...

  8. MySql中drop、truncate、delete的区别

    1.drop:能对table和view 用法:  drop table [is exists] 表1,表2,表3....: ①drop是DDL中删除表的操作,会删除表结构和所有数据,并释放空间. ②并 ...

  9. MySQL删除命令_DELETE

    单表删除语句: DELETE [LOW_PRIORITY][IGNORE] FROM tbl_name     [WHERE where_definition]     [ORDER BY ...] ...

随机推荐

  1. 获取元素到body/html的距离函数

    获取元素到body的距离: <script> function offsetDis(obj) { var l = 0, t = 0; while(obj) { l = l + obj.of ...

  2. x01.ExcelHelper: NPOI 操作

    Excel 操作,具有十分明显的针对性,故很难通用,但这并不妨碍参考后以解决自己的实际问题. 有一汇总表如下: 当然,只是示范,产品的代码应该唯一!现在要根据此汇总表产生各个客户的产品清单.由于客户较 ...

  3. 【SEO】搜索引擎优化的陷阱和作弊

    一.认识SEO [理解] 站内优化是指更改网站内部结构,让网站利于蜘蛛爬取,比如网站内容: 站外优化是指发反向链接,给蜘蛛一个爬取你网站的通道. 其中,反向链接是指网页A 上有一个链接指向网页B,则网 ...

  4. Centos操作系统在虚拟机VMware上的安装

    1.下载centos操作系统,提供百度云盘链接:http://pan.baidu.com/s/1pLHOR03 2.打开上篇在VMware中新建好的空白虚拟机,将centos安装在此空白虚拟机上,步骤 ...

  5. spring整合axis2(最小配置化)的示例

    参考文档: http://blog.csdn.net/xinhaoluan/article/details/3605234 环境配置: spring-framework-3.2.7 axis2-1.6 ...

  6. 网络爬虫——针对任意主题批量爬取PDF

    |本文为博主原创,转载请说明出处 任务需求:要求通过Google针对任意关键字爬取大量PDF文档,如K-means,KNN,SVM等. 环境:Anaconda3--Windows7-64位--Pyth ...

  7. 深入理解javascript异步编程障眼法&&h5 web worker实现多线程

    0.从一道题说起 var t = true; setTimeout(function(){ t = false; }, 1000); while(t){ } alert('end'); 1 2 3 4 ...

  8. Win Linux 双系统安装指南

    双系统安装指南 环境说明 硬件:一块240G NVMe,一块240G SSD,一块2T的HDD. 系统:Linux Mint 18.2,Windows 10 Enterprise Version 17 ...

  9. Java之异常处理,日期处理

    Java异常处理 异常:异常就是Java程序在运行过程中出现的错误. 异常由来:问题也是现实生活中一个具体事务,也可以通过java 的类的形式进行描述,并封装成对象.其实就是Java对不正常情况进行描 ...

  10. 为什么Java大数据是最火爆的编程语言?

    未来10年将是大数据,人工智能爆发的时代,到时将会有大量的企业需要借助大数据,而Java最大的优势就是它在大数据领域的地位,目前很多的大数据架构都是通过Java来完成的. 在这个Android.iOS ...